<span style="font-family:arial,sans-serif;font-size:13px">There's an idea to start building the bratislava catalog from scratch.</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">The idea started at the last camp during the conversation about</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">cleaning up the existing catalogs. The exact idea is to, as cleanly as</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">possible, build a catalog which will be following our current</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">practices: all packages built with GAR, no obsoleted packages,</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">libraries split out and so forth. Also, to alleviate the issues with</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">C++ libraries, all C++ software (or even all software) would be built</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">with GCC. There will be no CSWcommon.</span><br style="font-family:arial,sans-serif;font-size:13px">

<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">The rationale for a new rebuild that cleaning up the current catalog</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">is rather hard. It's mainly got to do with existing dependencies,</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">where e.g. maintained packages depend on unmaintained. It's an</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">alternative to the idea of tiers. Rebuilding from scratch will not</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">introduce as much complexity, and will still help us improve the</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">catalog quality.</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><a href="http://wiki.opencsw.org/release-bratislava" target="_blank" style="font-family:arial,sans-serif;font-size:13px">http://wiki.opencsw.org/release-bratislava</a><br style="font-family:arial,sans-serif;font-size:13px">

<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">I made it possible to use csw-upload-pkg to upload to the bratislava</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">catalog. The catalog is already generated and published on the mirror.</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">I've made a test release of CSWtree.</span><br style="font-family:arial,sans-serif;font-size:13px">

<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">My first goal will be to build GCC for bratislava. It has some</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">dependencies, so I will start working my way up, starting with iconv.</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px">

<a href="http://www.opencsw.org/qa/packages/gcc4core/" target="_blank" style="font-family:arial,sans-serif;font-size:13px">http://www.opencsw.org/qa/packages/gcc4core/</a><br style="font-family:arial,sans-serif;font-size:13px">

<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">The goal is to have a limited but well maintained set of core</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">packages, such as Apache, GCC and MySQL. Of course, it will require</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">building all the dependencies first.</span><br style="font-family:arial,sans-serif;font-size:13px">

<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">How to build for bratislava? These instructions are valid for</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">November/December 2012:</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">- build on the unstable hosts</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">- make a 'bratislava' branch in subversion, e.g.:</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">svn cp </span><a href="https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/pkg/tree/%7Btrunk,branches/bratislava%7D" target="_blank" style="font-family:arial,sans-serif;font-size:13px">https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/pkg/tree/{trunk,branches/bratislava}</a><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">- add the following lines to the recipe:</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">GARCOMPILER = GNU</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">COMMON_PKG_DEPENDS =</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">INCLUDE_COMMONDIRS = 1</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">- checkpkg doesn't know about CSWcommon-less packages, so you will</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">need to add overrides:</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">CHECKPKG_OVERRIDES_</span><span style="font-family:arial,sans-serif;font-size:13px">CSWlibcharset1 += bad-location-of-file</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">CHECKPKG_OVERRIDES_</span><span style="font-family:arial,sans-serif;font-size:13px">CSWlibcharset1 += disallowed-path</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">- otherwise proceed as usual</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">- when the packages are built, use csw-upload-pkg to upload them to bratislava:</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">csw-upload-pkg  --catalog-release bratislava <pkg1> [ <pkg2> [ ... ] ]</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">Sometimes you'll need to think about the order in which to insert the</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">packages. For example libiconv2 doesn't have dependencies, but</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">libiconv-utils does depend on libintl8, so you need to skip</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">libiconv-utils until you upload libintl8.</span><br style="font-family:arial,sans-serif;font-size:13px">

<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">That's it.</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">In the meantime, Dago will experiment with a new approach to</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">Makefiles, allowing for multiple Makefiles in one package directory,</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">which will make it easier to maintain separate build files for each</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">catalog release, and will reduce the number of files and directories</span><br style="font-family:arial,sans-serif;font-size:13px">

<span style="font-family:arial,sans-serif;font-size:13px">in the subversion tree.</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">Maciej</span><br>