RFC: Turning flag TINY into ACTIVEONLY, move Author to toplevel dir

Friedrich W. H. Kossebau kossebau at kde.org
Sun Feb 17 22:00:46 GMT 2013


Hi,

I am looking currently into proper packaging of Calligra Active. And would 
propose that we redo the flags which control when Calligra Active is build.

Calligra Active related requirements:
a) Packagers should have a simple flag/way to build exlusively CalligraActive 
and everything that is useful for that (currently the part libs of Sheets, 
Stage, Words + all the related filters and the thumbnailers)
b) CalligraActive should be optionally also flagged for build in parallel with 
the "normal" program(shell)s of Sheets, Stage & Words.

Requirement a) will make packagers of PlasmaActive-centered distris happy, as 
they do not need the QWidget-based shells at all. Requirement b) is for other 
packagers who would like to make their users CalligraActive available as well, 
and also for developers who do not want to maintain two separate builds just 
to also develop CalligraActive next to the old-fashioned programs. Currently 
one needs to patch the CMakeLists.txt to have CalligraActive built with 
everything else.

So the build system needs to be aware that all of Sheets, Stage & Words is 
composed from two things, the core (part) and the shell/app.

Currently CalligraActive is only build in TINY build set. TINY also limits the 
filters which are installed. What is the purpose of TINY? Who is known to use 
TINY? Could it perhaps be removed, or rather changed to ACTIVEONLY?

One thing that also seems strange to me is that the executables are also done 
in the parts/ subdirs for most programs. What about splitting that out into a 
sibling app/ subdir? Would help with structure

And I would also ask to move Author out of its ambush and give it a full real 
toplevel dir, to reduce the complexity in dir layout. Or is there any real 
need to have it there? Now it even has an icon ;), no need to be shy and hide. 
And time for an own SHOULD_BUILD_AUTHOR.


My current plan:
1) move Author files into toplevel dir author/ with usual subdirs (still 
controlled by SHOULD_BUILD_WORDS at this point)
2) split program/executable/shell related files of Sheets,Stage,Words from the 
part/ subdir into a sibling app/ 
3) add SHOULD_BUILD_{SHEETS,STAGE,WORDS}_COREONLY, to be used when 
SHOULD_BUILD_{SHEETS,STAGE,WORDS,AUTHOR) is set to true (also introduce 
SHOULD_BUILD_AUTHOR here)
4) turn TINY into ACTIVEONLY, there set 
SHOULD_BUILD_{SHEETS,STAGE,WORDS}_COREONLY to true, and remove any TINY-
related build restrictions in the filters (but not elsewhere)
5) add ALLANDACTIVE flag to have everything including the Active stuff built

I would do separate patches for 1) and 2). The rest, 3),4),5), should be 
doable in one patch without losing overview.

What do you think? Suggestions, improvements? ... What, flames? :)

Cheers, good night
Friedrich



More information about the calligra-devel mailing list