Jonathan S. Shapiro | 17 Mar 2013 07:12
Favicon
Gravatar

Cross compilers

Back in January there was a discussion about cross compilers. For various reasons I seem to be back in the mode of maintaining cross compilers, and I'm refreshing the Coyotos/CapROS cross tools in order to get my head back into the cross tool build middens. I'm not resuming work on Coyotos, so I'm not going to have time for much ongoing maintenance, but we all want to have a set of working tools. After talking with Charlie Landau, we have settled on a course of action.


I want to describe what is being done, but I also want to explain why we are not adopting the "builld it yourself" approach that Matt Rice suggested back in January.


Building a cross-tool chain is a seriously hairy process. Some steps have to be done multiple times (e.g. GCC). It's delicate, finicky, error-prone, cranky, not friendly to tool version updates, and generally a pain in the ass. By the time I stopped, I had 20 virtual machines running different OS versions and architectures, each dedicated to building the tools for one of the many possible development host environments. Revising the cross tools involved a 40 hour compilation process. It was ridiculous.

Packaging the cross tools was very helpful. It provided a way to ensure that all tool dependencies were satisfied, and it also meant that every developer was using bit-identical compilers with bit-identical results. Those two things, taken together, go a long way toward eliminating bugs arising from the cross environment itself. The fact that you could add the tool repository with a single RPM command, and then install the cross tools for your target with a single YUM command, and get the updates conveyed to you automatically, made things awfully convenient. It's a lot of work to get all of that right, and having people build the cross tools by hand is just begging for trouble.


The last time I reviewed this process was in 2010, and some of the constraints have changed considerably. At this point, I'm prepared to make three assumptions about development host machines that were problematic in 2010:
  1. All dev machines are now x86_64
  2. All dev machines now have hardware virtualization support.
  3. Disk space is a lot less constrained than it used to be.
This is true for OSX machines, and also for nearly all Windows desktops and laptops. If you bought a netbook you may be out of luck.

What this means in practical terms is that it is now reasonable to declare that Coyotos/CapROS development should happen on one operating system version, and that you should be prepared to install a modest-sized virtual machine for that purpose. In my experience, a virtual machine for Coyotos or CapROS development can fit comfortably in 40G, and can probably be done in 25G.

We have been going crazy chasing the Fedora Core revision cycle, and given the ubiquitous availability of virtualization today, it just doesn't make sense to keep doing that. The packages that I built for CentOS 5.1 in 2010 work today, unchanged on CentOS 5.9. That beats the heck out of rebuilding things every six months, which I just don't have time to do.

So the plan from this point forward is that Coyotos/CapROS development tool packages will only be built for CentOS, and only for development from an x86_64 development host. I'm just now finishing the rebuild for CentOS5, and I'll be starting on the build for CentOS6 shortly.  Once that is done, I will go through and try to bring the tools up to more current versions of binutils and GCC, and make those available through the test repository.


Jonathan
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
CapROS-devel mailing list
CapROS-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/capros-devel
Matt Rice | 25 Jan 2013 21:17
Picon

cross compiler binaries situation

I've been wanting to get back in to capros/coyotos recently,

there are 2 distinct issues:
a) the main issue is my lack of ability to host a yum repository for
the binaries
b) the frequency of fedora release cycles (6 months) multiplied by the
number of architectures/OS's means a lot of compiling/maintenance, because
everybody has their own uprgrade schedule for which they upgrade their
fedora installs
even if we managed to limit ourselves to a single OS.

with regard to a)
the yum repositories require a specific URL format which they are
required to comply
makes it difficult to find free hosting, I suppose I could talk to the
'rpmfusion.org' guys, and see if I could host as part of that project.
(seems like a weird solution to me).

a different mechanism entirely has come to mind which would try and
attack these 2 problems directly.
it has its own unique set of issues... I wanted to see what your opinion was

the alternative mechanism would be to host a virtual machine image
which has a linux kernel & all of the dependencies required to build
capros on it/cross compilers and what not built in to the virtual
machine.

this solves a)  since it's a single image which can be hosted anywhere
like mega.com or even on the sourceforge capros page itself.
solves b) since we are no longer dependent on fedora's release cycle.
also solves c) the requirement of fedora, now we'd just require a
qemu/kvm or 'openstack' or eucalyptus or something (haven't gotten
down to the details).
theoretically anyone running fedora or ubuntu or whatever should be
able to run it.

it's probably
z) slower (not sure how much)
y) requires virtualization instructions for the bootstrapping machine
x) requires some synchronization mechanism to get binaries out of it
and sources to it, so it'd probably complicate the build process.

I personally would probably just ssh into the virtual machine to
develop, since I never run anything more than bash and vi anyways.
that's probably not feasible if someone wants to run some gui editor,
if thats the case this might be more painful than it's worth, since it
takes the build system away from a process everyone is familiar with.

w) requires the initial investment into building the vm images,
essentially we maintain a minimal linux or bsd os which we use to
bootstrap capros.  We could also use the existing RPM's/rpm building
and fedora tools e.g.
https://github.com/wgwoods/lorax/blob/master/README.livemedia-creator
to create the cross compilers vm image, in that case we're staying
pretty much the same, we just never build for more than 1 version of
fedora... this is probably the simplest way to go, the image will be
somewhat larger than we could pull off with a purpose built vm (do we
care?)

another benefit of the whole 'vm image' based design comes to mind,
my qemu image script generation things currently use 'libguestfs', to
work around the requirement for root access/fiddling security
permissions for mounting a loopback device, so I can install grub for
x86 or uboot for arm, or whatever bootloader really.

this sort of thing is quite nice in that it allows the build scripts
to spit out images runnable under emulation, or that you can install
from dd, without any fiddling of the local machine, or multiple steps.

libguestfs essentially wraps up a qemu instance granting the user root
permissions to that virtual machine allowing them to mount a loopback
device.

i've really been hampered by the bug here:
https://bugzilla.redhat.com/show_bug.cgi?id=737261

in that i have to fiddle with my RPM database in order to get the grub1
installed and hacking the system provided libguestfs to work again (2
years of that and no fix in sight, as it's a stalemate between
maintainers)

by running the cross compilers in a VM we can quite easily allow the
build to mount loopback devices for the parts of the image building
process that want it, bypassing libguestfs and the fedora politics
involved.

anyhow, let me know your feelings on this subject and whether you
think this would make it easier to continue development of capros
given the current cross compiler situation.

another alternative is the openembedded.org style of mechanism,
where everybody builds the cross compilers, this is essentially what
we have today
I suppose with the exception that they do it all in one pass (I
haven't looked at their stuff in a while/since the yocto project merge
though, it is in all likelyhood somewhat linux target specific).

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
Kitty Guy | 5 Sep 2012 17:12
Picon
Favicon

Re: Problem building cparos tools.


"Jonathan S. Shapiro" <shap <at> eros-os.org> wrote:
> On Wed, Sep 5, 2012 at 7:16 AM, Kitty Guy <kittyguy <at> mail.be> wrote:
>
>     Hello,
>
>     Thanks for  your quick reply.
>
>     "Jonathan S. Shapiro" <shap <at> eros-os.org> wrote:
>     > Kitty:
>     > 1. The process for building these tools is delicate, and (at this time) really only works if you proceed by
rebuilding the RPMs.
>
>     That could take care of the symlinks. The build errors will obviously remain even when built as RPM.
>
> The right solution, really, is to refresh the entire cross-tool chain. That is likely a week-long effort,
and I don't have the time to do it.

I expect some of the issues would be fixed by updating to current versions of binutils and gdb.

>     I was able to run the hello world demo of capros (built with capros tools) but coyotos fails linking any
native binaries. 
>
> There could be two reasons for this. It sounds like your build of the tool chain may not have been as
intended. But even if there were no tool chain problems, you would hit a problem with your first use of the
coyotos capidl tool. I was in the middle of a rework of capidl when the project was mothballed. The changes
to capidl were never completed.
>
>     The first problem is that the coyotos binaries have unresolved symbols to the kernel and other binaries
which the linker does not like. 
>
> They can't have unresolved symbols to the kernel or other binaries. I believe the unresolved symbols are
the ones that would have been the output from capidl. Adding the '-r' flag is definitely not what you want.

Yes, I expected that there would be some library to provide the symbols but did not find any.

> Concerning the image builder, I would need to look at the specific input case.
> The coyotos project has been mothballed. There is nobody working on it at this time, and the tool chains
have not been brought forward to run on current versions of Fedora. I don't have the time to bring them
forward, so I'm afraid you may be out of luck here.

The files are what is in the tree. 
Since capidl is broken the input is bogus. I am not surprised building the image fails.

Cheers

kg
-----------------------------------------------------
Mail.be, WebMail and Virtual Office
http://www.mail.be
"Jonathan S. Shapiro" <shap <at> eros-os.org> wrote:On Wed, Sep 5, 2012 at 7:16 AM, Kitty Guy
<kittyguy <at> mail.be> wrote:
Hello,

Thanks for  your quick reply.

"Jonathan S. Shapiro" <shap <at> eros-os.org> wrote:
> Kitty:
> 1. The process for building these tools is delicate, and (at this time) really only works if you proceed by
rebuilding the RPMs.

That could take care of the symlinks. The build errors will obviously remain even when built as RPM.

The right solution, really, is to refresh the entire cross-tool chain. That is likely a week-long effort,
and I don't have the time to do it. > 2. The coyotos and capros tool chains really are not the same. The
coyotos tools implement compilation models that the capros tools do not.
> 3. Trying to build capros using the coyotos tool chain won't work.

Then hardcoding the tool prefix is not that much of an issue I guess.

There were reasons to do so. It turns out that building GCC with a relocatable prefix is not
straightforward. Or at least it wasn't straightforward on those versions of GCC.
It actually is possible to build with a different prefix. The problem you are running into is that the
"build your own" option in ccs-xenv was only briefly used by a few people running BSD, and was not actively
maintained. I was able to run the hello world demo of capros (built with capros tools) but coyotos fails
linking any native binaries.

There could be two reasons for this. It sounds like your build of the tool chain may not have been as intended.
But even if there were no tool chain problems, you would hit a problem with your first use of the coyotos
capidl tool. I was in the middle of a rework of capidl when the project was mothballed. The changes to capidl
were never completed.
The first problem is that the coyotos binaries have unresolved symbols to the kernel and other binaries
which the linker does not like.

They can't have unresolved symbols to the kernel or other binaries. I believe the unresolved symbols are
the ones that would have been the output from capidl. Adding the '-r' flag is definitely not what you want.
Concerning the image builder, I would need to look at the specific input case.

The coyotos project has been mothballed. There is nobody working on it at this time, and the tool chains have
not been brought forward to run on current versions of Fedora. I don't have the time to bring them forward,
so I'm afraid you may be out of luck here.

Jonathan
------=_Part_59855_15862498.1346857334726
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<HTML><HEAD></HEAD><BODY>&quot;Jonathan S. Shapiro&quot; &lt;shap <at> eros-os.org&gt;
wrote:<BLOCKQUOTE type="cite"
cite="<CAAP=3QPMpxvhnB44YTWXoyJYM5rV8tK5O-h4FMkBkCRU0BX3-w <at> mail.gmail.com>"><DIV><DIV
class="gmail_quote">On Wed, Sep 5, 2012 at 7:16 AM, Kitty Guy <SPAN dir="ltr">&lt;<A
href="mailto:kittyguy <at> mail.be" target="_blank">kittyguy <at> mail.be</A>&gt;</SPAN>
wrote:<BR><BLOCKQUOTE class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<BR>
<BR>
Thanks for &nbsp;your quick reply.<BR>
<DIV class="im"><BR>
&quot;Jonathan S. Shapiro&quot; &lt;<A href="mailto:shap <at> eros-os.org">shap <at> eros-os.org</A>&gt; wrote:<BR>
&gt; Kitty:<BR>
&gt; 1. The process for building these tools is delicate, and (at this time) really only works if you proceed
by rebuilding the RPMs.<BR>
<BR>
</DIV>That could take care of the symlinks. The build errors will obviously remain even when built as
RPM.<BR></BLOCKQUOTE><DIV><BR></DIV><DIV>The right solution, really, is to refresh the entire
cross-tool chain. That is likely a week-long effort, and I don&#39;t have the time to do it.</DIV>
<DIV>&nbsp;</DIV><BLOCKQUOTE class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<DIV class="im">&gt; 2. The coyotos and capros tool chains really are not the same. The coyotos tools
implement compilation models that the capros tools do not.<BR>
&gt; 3. Trying to build capros using the coyotos tool chain won&#39;t work.<BR>
<BR>
</DIV>Then hardcoding the tool prefix is not that much of an issue I
guess.<BR></BLOCKQUOTE><DIV><BR></DIV><DIV>There were reasons to do so. It turns out that building
GCC with a relocatable prefix is not straightforward. Or at least it wasn&#39;t straightforward on those
versions of GCC.</DIV>
<DIV><BR></DIV><DIV>It actually <I>is</I>&nbsp;possible to build with a different prefix. The
problem you are running into is that the &quot;build your own&quot; option in ccs-xenv was only briefly
used by a few people running BSD, and was not actively maintained.</DIV>
<DIV>&nbsp;</DIV><BLOCKQUOTE class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">I was able to run the hello world demo of capros (built with capros tools) but
coyotos fails linking any native binaries.<BR>
</BLOCKQUOTE><DIV><BR></DIV><DIV>There could be two reasons for this. It sounds like your build of the
tool chain may not have been as intended. But even if there were no tool chain problems, you would hit a
problem with your first use of the coyotos capidl tool. I was in the middle of a rework of capidl when the
project was mothballed. The changes to capidl were never completed.</DIV>
<DIV><BR></DIV><BLOCKQUOTE class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">The first problem is that the coyotos binaries have unresolved symbols to the
kernel and other binaries which the linker does not like.<BR>
</BLOCKQUOTE><DIV><BR></DIV><DIV>They <I>can&#39;t</I>&nbsp;have unresolved symbols to the
kernel or other binaries. I believe the unresolved symbols are the ones that would have been the output
from capidl. Adding the &#39;-r&#39; flag is definitely not what you want.</DIV>
<DIV><BR></DIV><DIV>Concerning the image builder, I would need to look at the specific input
case.</DIV><DIV><BR></DIV><DIV><BR></DIV><DIV>The coyotos project has been mothballed. There is
nobody working on it at this time, and the tool chains have not been brought forward to run on current
versions of Fedora. I don&#39;t have the time to bring them forward, so I&#39;m afraid you may be out of luck here.</DIV>
<DIV><BR></DIV><DIV><BR></DIV><DIV>Jonathan</DIV></DIV><BR></DIV>
</BLOCKQUOTE></BODY></HTML>
------=_Part_59855_15862498.1346857334726--
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
CapROS-devel mailing list
CapROS-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/capros-devel
Kitty Guy | 5 Sep 2012 12:57
Picon
Favicon

Problem building cparos tools.

Hello,

I tried building capros but the current cross-tools won't build.

I applied some patches to get the tools built: https://bitbucket.org/kittyguy/ccs-xenv/changesets

There are still some problems. Once the configure in coytools would fail all tests with sed complaining it
cannot open conftest.c. After poking around to find what the problem was it went away and I cannot
reproduce it anymore.

Another issue is that the coyotos linker scripts are installed in a wrong place and ld does not link any of the
capros binaries because it would not find them. Needed some symlinks to make the script usable:

$ readlink /capros/host/lib/ldscripts/elf_i386_coyotos_small.xc
../../i386-unknown-capros/lib/ldscripts/elf_i386_coyotos_small.xc

Finally it is quite stupid that the coyotos and capros build systems insist on having each a copy of the same
tools under a different name. I tried to use tools build with the default coyotos prefix but the SSL binary
would not build. Settling on one name would save quite a bit of disk space.

Cheers

kg
-----------------------------------------------------
Mail.be, WebMail and Virtual Office
http://www.mail.be

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Matt Rice | 5 Jul 2011 15:29
Picon

building a capros dev env in a vm...

Zarutian (cc'd) asked about setting up the capros dev tools in a vm,
attached is a shell script that does that, (it works here :)

you'll want to modify ks.cfg at least the rootpw line, the default
password is.... 'pasword'
you do not want to use this ks.cfg outside of qemu (it's going to wipe
the disk.)

its a little big boned, at 3g...
I spent too much time trying to trim the fat, I failed.
at the grub prompt, you need to:

select the 'basic video option', and hit tab to edit the kernel command line,
append the following line:
ks=floppy:/ks.cfg

after its done, you should be able to
qemu-kvm -hda fedora.qcow

check out capros from cvs, and follow the normal build instructions.

hope that helps.
Attachment (foo.sh): application/x-sh, 498 bytes
Attachment (ks.cfg): application/octet-stream, 670 bytes
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
CapROS-devel mailing list
CapROS-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/capros-devel
Matt Rice | 14 Apr 2011 07:01
Picon

leveraging "trustzone" tm in capability systems?

nothing terribly important but food for thought

so in attempting to port to cortex-A8 i inevitably let my mind wonder
to the question
in what ways can we leverage the additional security extensions
provided, "Trustzone"[1] || [2]

unfortunately it doesn't seem to be a natural fit for capability systems,
by splitting things in to secure and insecure worlds, in some ways you
could potentially avoid the need for
attenuation, but you inevitably lose the ability to do fine grained
access control
the ability to give secure access to one device,
yet withhold it from another while providing 'non-secure' access.

though, it could maybe be used in combination with attenuation,
it'd have to be in ways which neither compromise or tie us to this
specific implementation.

If nothing else, it can be used as possibly intended,
transparently and on top of a system oblivious to it.

I guess i'm curious if anyone else has any thoughts/knows of research
done on the subject.
googling doesn't really seem to provide anything but marketing stuff.

http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/index.html
(pdf)
http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
vibi sreenivasan | 2 Oct 2010 10:07
Picon

specification for bootloader in capros - arm

Hi,
Is there any specification on what bootloader has to do before loading os.
I think that is needed. Presently every thing in
eros/src/sys/arch/arm/kernel/Iostart.s is tailored for
booting from redboot.

If we make a specification we can move some part to a regular
bootloader or minimal
initial program loader & make os specific part more portable & general.

regards
vibi

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
Jonathan S. Shapiro | 22 Jun 2010 02:45
Favicon
Gravatar

Tools cross-build

For those who may be trying to cross-build the tools for other platforms (e.g. Ubuntu), I've updated the "unsupported targets" makefile to build the current versions of everything. Sorry this had not already been done.
 
shap
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
CapROS-devel mailing list
CapROS-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/capros-devel
vibi sreenivasan | 20 Jun 2010 18:13
Picon

EROS_HOST needed while compiling for arm ?

Hi,
    Is it necessary to set EROS_HOST=arm while compiling capros for arm.
    I tried by setting EROS_TARGET=arm alone but it did not work.
    Only after setting EROS_HOST=arm i got capros compiled.
    In build file only EROS_HOST is specified.
    Also there is no details about where kernel & other executables
need for booting capros on
   arm will be present .

regards
vibi

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
vibi sreenivasan | 20 Jun 2010 18:09
Picon

toolchain build for ubuntu

Hi,
   I was trying to build arm-capros cross-compiler on ubuntu.
   I got success after a suppressing error coming because of enabling
-Werror flag.
   Binary is uploaded here
   http://code.google.com/p/vibi-capros/downloads/list

  regards
vibi

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
Jonathan S. Shapiro | 14 Jun 2010 01:47
Favicon
Gravatar

IMPORTANT: Tool downgrade!

We have had to back down to an older GCC version -- while GCC 4.4.x works, it requires support from libc that is not yet present in newlib.
 
Unfortunately, the YUM/RPM infrastructure isn't designed to deal with downgrade issues, so the procedure here is a little messy. The following steps must be done as root:
 
   1. Remove all of your existing capros/coyotos packages. Pay attention here
       to forward vs. backward quotes!
 
    # rpm -e `rpm -q -a | egrep '(coyotos|capros)'`
 
    2. Tell yum to throw away its package cache so that it doesn't try to load
        the packages that we removed. This will force it to go back to the
        repository to re-fetch a clean copy of the package metadata:
 
    # yum clean all
 
    3. Re-install the cross environment tool base:
 
    # yum install capros-i386-xenv capros-arm-xenv
                or
    # yum install coyotos-i386-xenv coyotos-m68-xenv
 
I have rebuilt a relatively recent CapROS tree for both arm and i386. The build completed successfully.
 
Very sorry for the disruption that this caused!
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
CapROS-devel mailing list
CapROS-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/capros-devel

Gmane