On Sun, Sep 21, 2008 at 05:10:40PM +0100, Richard W.M. Jones wrote: > [This project is still at a draft stage, but since we've put together > a test repository, hopefully people can now very easily try out what > we've been working on]. > > What is MinGW? > ---------------------------------------------------------------------- > MinGW is a C and C++ cross-compiler, based on gcc, that targets > Windows. > > What is Fedora MinGW? > ---------------------------------------------------------------------- > > The Fedora MinGW project's mission is to provide an excellent > development environment for Fedora users who wish to cross-compile > their programs to run on Windows, minimizing the need to use Windows > at all. In the past developers have had to port and compile all of > the libraries and tools they have needed, and this huge effort has > happened independently many times over. We aim to eliminate > duplication of work for application developers by providing a range of > libraries and development tools which have already been ported to the > cross-compiler environment. This means that developers will not need > to recompile the application stack themselves, but can concentrate > just on the changes needed to their own application. I'd like to point out that since our major announcement on the MinGW work we've been attempting to reduce the maintainence burden of carrying builds of various packages. eg the pain of keeping changes to 'libjpeg' in sync with changes to 'mingw-libjpeg'. We recognise that person maintaining the native Fedora version of the package may well not be the same person maintaining the mingw (or other cross compiled) versions. The key is thus enabling the maintainer of the cross compiled version to track changes. Our current experiment in this area is to write a python tool to compare two spec files and report on important differences - particularly those related to source versions / patches because closely following security patches is the single most important thing. Ensuring consistent versions, source URLs & licensing metdata is also pretty important. In the MinGW repo we've got a tool called 'compare.py' which takes 2 spec files and compares them and reports on likely problems Taking our current (broken) mingw-libxml2 specfile as an example $ python compare.py \ $HOME/src/fedora/libxml2/devel/libxml2.spec \ $HOME/src/fedora-mingw--devel/libxml2/mingw-libxml2.spec \ $HOME/src/fedora-mingw--devel/libxml2/compare.supp WARNING different version: 'libxml2': '2.7.1' != 'mingw-libxml2': '2.6.32' WARNING different license: 'libxml2': 'MIT' != 'mingw-libxml2': 'LGPLv2+' WARNING different URL: 'libxml2': 'http://xmlsoft.org/' != 'mingw-libxml2': 'http://www.xmlsoft.org/' WARNING missing source: 'libxml2-2.7.1.tar.gz' WARNING extra source: 'libxml2-2.6.32.tar.gz' WARNING missing patch 'libxml2-multilib.patch' So it can show that the mingw version has incorrect Licensing data, minor difference in URL, and is lagging the latest rawhide release. All things I need to fix before we submit this package to Fedora. The libxml2-multilib.patch is a irrelevant problem for mingw which doesn't care about multilib, so I can add that to the compare.supp suppressions file, so next time it'll not include that line noise. Once the Fedora MinGW is approved and starts to get into Fedora CVS, the aim will be to generate nightly reports on all mingw packages. This compare.py script could also be of use to any other cross-compiled archs added to Fedora such as ARM, or for people for fork the Fedora repos such as OLPC, to help them keep in sync. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list