From: Orcan O. <oge...@gm...> - 2010-02-20 09:02:13
|
On Fri, Feb 19, 2010 at 5:43 AM, Chris Cannam wrote: > On Fri, Feb 19, 2010 at 6:54 AM, D. Michael McIntyre > wrote: > > Happy to do something to help out here, but I want to be clearer on > what's needed. The configure sets CXXFLAGS to contain both defines > that are meaningful to our code (e.g. NDEBUG, BUILD_RELEASE, NO_TIMING > in release mode) and compiler flags (-O2 et al). This is not good > form already, the two should be substituted separately. > > Am I right in thinking you'd like to override _just_ the compiler > flags and to override them at configure time rather than make time > (with configure baking your overridden flags into the Makefile for > you)? > > So my first thought is to: > > * replace CXXFLAGS in configure.ac with two substitutions, say > CXXFLAGS for compiler flags and DEFINES for defines > > * if CXXFLAGS is already set when configure is run, accept its > contents (printing a note) and override the internal settings with > them > > Would that work for you? > Yes. That is exactly what I need. To solidify let me make up an example: So if CXXFLAGS is predefined, its contents should not be overridden by you. But I should be able to override your defaults. Suppose you want to use "-g0 -O3" as standard. But Fedora wants "-g -O2". If you do CXXFLAGS="-g0 -O3 -DMY_FAVORITE_DEFINITONS $CXXFLAGS" I can now put my "-g -O2" in the CXXFLAGS before I call configure and I can override your "-g0 -O3". > >>> 5) This one may be very Fedora specific: The font .pfa files are >>> compiled into the final binary. This is a big NO in Fedora. I had to >>> patch them out and install them in /usr/share/fonts/rosegarden/. I am >>> attaching the patch. > > You should be able to do this without modifying the source code by > installing the fonts into /usr/share/rosegarden/fonts/ instead of > /usr/share/fonts/rosegarden/. Anything in the resource file can be > unbundled into /usr/share/rosegarden/<resourcepath> and will be picked > up from there if found. (At least, that's the idea -- it isn't very > thoroughly tested, but if it didn't work we'd fix it.) > > I would not be keen to accept a patch for /usr/share/fonts/rosegarden, > it's ontologically misleading (they are not our fonts, they're just > installed specifically for our package). > I understand. But there is a strict Fedora policy here that a fonts file must go to /usr/share/fonts (period) (I can try dealing with this with symlinks though. Yet I still have to patch the fonts out of the .qrc file) This is mainly to avoid duplication of system fonts. If these feta and parmesan fonts were available in Fedora, then I was going to remove your copy of font files altogether and make the patch such that rosegarden points to the system feta and parmesan fonts. Technically, when I make a Fedora package X, which contains font Y, I have to make a X-Y-fonts subpackage and make the main X package require X-Y-fonts. It is more work, but that what they want us to do. By the way, these feta and parmesan fonts that come with rosegarden are not present in the recent lilypond releases. Are these some modified versions? Old versions? > >> My take on this is that bundling everything into the binary is clean and easy >> to maintain, and it doesn't bother me a bit. Being able to run 15 different >> ./rosegarden without ever installing anything is extremely useful for >> development, and extremely convenient for users who inevitably wind up >> compiling some SVN snapshot in between releases, and will want to run it >> alongside their stable release backup version (which is one of the exciting >> key benefits of the new Rosegarden). >> >> How can we reconcile all of this so everyone wins? > > I think we leave bundling as the default -- and if we ever distribute > a binary, which we could have a crack at just for grins, we make it > fully bundled -- but allow distrae (thanks) to unbundle when > installing. I would very much prefer the source code to be the same > in both cases though. > I understand your concern. And thanks everyone for the explanations. I guess I will continue to deal with our crazy Fedora rules myself :) Orcan |