Great job! this will help us understand Mer-core greatly! On Sat, Apr 28, 2012 at 4:53 PM, Carsten Munk <[email protected]>wrote:
> Hi all, > > As some know, I've been working a while on how we can auto-document > and explain the Mer architecture and as part of that I'll be sending a > bunch of .spec/.yaml changes for each of the source packages, changing > their Group: fields > > To understand the reasoning behind the architecture, I'd like to note > a few points: > > * A group covers all binary packages a source package produces > * The goal is to document run-time architecture, not build-time > architecture -- that is, there is a lot of packages that will be not > in these groups, which are used for compilation/build phases only or > are debugging only tools > * The goal is to enable vendors with tools and understanding of how to > fit their components into Mer from an architectural point of view > * If a dependency is only used by one group's components only, the > dependency ends up within that group. > * The grouping and dependencies of a source package is bound to change > over time, due to the evolution of components > * The goal is to encourage sane Group: settings of vendor components as > well. > * Mer is meant to be easy to re-architect and change into new exciting > types of stacks, so the decisions made in here are not ones you > absolutely have to follow in your product, but they provide a solid > basis for more people to understand and work with distribution/product > architecture than previously. > > You can see the output of part of this work at > http://wiki.merproject.org/wiki/Architecture and examples like > http://releases.merproject.org/~carsten/GraphicsX11.png - These are > created with a architectural browser, AgileBrowser > (http://wiki.meego.com/AgileBrowser), which the intent is that we can > automatically generate data files for this at image creation time, for > architects in Mer Core and the vendors that use it, to develop and aid > their product architecture development. > > Let me know if there's any problems with the suggested groupings and > let us have a discussion about these. The architecture should > naturally be seen in collaboration with full products (Core + hardware > adaptation + UI) and hence groupings should be able to scale to that. > > Future work can be declaration of D-Bus interfaces and other types of > interfaces, to understand the true dependencies and automatic > understanding of API/ABI changes -- for example being able to check if > a D-Bus API change will be backwards compatible. > > The proposed list of changes, so far - this is per source package in Mer > Core: > > bluez /Communications/Bluetooth > ofono /Communications/Cellular Framework > connman /Communications/ConnMan > crda /Communications/ConnMan > iw /Communications/ConnMan > libnl /Communications/ConnMan > mobile-broadband-provider-info /Communications/ConnMan > wireless-regdb /Communications/ConnMan > wireless-tools /Communications/ConnMan > wpa_supplicant /Communications/ConnMan > pacrunner /Communications/Proxy Management > v8 /Communications/Proxy Management > acl /Essentials/Base Essentials > basesystem /Essentials/Base Essentials > boardname /Essentials/Base Essentials > bzip2 /Essentials/Base Essentials > curl /Essentials/Base Essentials > db4 /Essentials/Base Essentials > desktop-file-utils /Essentials/Base Essentials > elfutils /Essentials/Base Essentials > expat /Essentials/Base Essentials > filesystem /Essentials/Base Essentials > gconf /Essentials/Base Essentials > glib2 /Essentials/Base Essentials > hwdata /Essentials/Base Essentials > icu /Essentials/Base Essentials > kmod /Essentials/Base Essentials > libcap /Essentials/Base Essentials > libedit /Essentials/Base Essentials > libffi /Essentials/Base Essentials > libidn /Essentials/Base Essentials > libusb /Essentials/Base Essentials > libusb1 /Essentials/Base Essentials > libuser /Essentials/Base Essentials > libxml2 /Essentials/Base Essentials > lua /Essentials/Base Essentials > MAKEDEV /Essentials/Base Essentials > meego-lsb /Essentials/Base Essentials > meego-rpm-config /Essentials/Base Essentials > mer-release /Essentials/Base Essentials > mkdevnodes /Essentials/Base Essentials > module-init-tools /Essentials/Base Essentials > nspr /Essentials/Base Essentials > nss /Essentials/Base Essentials > ntp /Essentials/Base Essentials > openssl /Essentials/Base Essentials > pam /Essentials/Base Essentials > passwd /Essentials/Base Essentials > pcre /Essentials/Base Essentials > polkit /Essentials/Base Essentials > popt /Essentials/Base Essentials > prelink /Essentials/Base Essentials > rootfiles /Essentials/Base Essentials > setup /Essentials/Base Essentials > shadow-utils /Essentials/Base Essentials > shared-mime-info /Essentials/Base Essentials > sqlite /Essentials/Base Essentials > tzdata /Essentials/Base Essentials > usbutils /Essentials/Base Essentials > util-linux /Essentials/Base Essentials > xdg-user-dirs /Essentials/Base Essentials > xdg-utils /Essentials/Base Essentials > xz /Essentials/Base Essentials > zlib /Essentials/Base Essentials > gcc /Essentials/Central Libraries > glibc /Essentials/Central Libraries > dbus /Essentials/D-Bus > dbus-glib /Essentials/D-Bus > dbus-python /Essentials/D-Bus > bash /Essentials/GNU utilities > coreutils /Essentials/GNU utilities > cpio /Essentials/GNU utilities > ed /Essentials/GNU utilities > findutils /Essentials/GNU utilities > gawk /Essentials/GNU utilities > gnupg2 /Essentials/GNU utilities > grep /Essentials/GNU utilities > gzip /Essentials/GNU utilities > libgcrypt /Essentials/GNU utilities > libgpg-error /Essentials/GNU utilities > libksba /Essentials/GNU utilities > libtool /Essentials/GNU utilities > ncurses /Essentials/GNU utilities > pth /Essentials/GNU utilities > readline /Essentials/GNU utilities > sed /Essentials/GNU utilities > tar /Essentials/GNU utilities > time /Essentials/GNU utilities > attr /Essentials/Linux utilities > e2fsprogs /Essentials/Linux utilities > file /Essentials/Linux utilities > iproute /Essentials/Linux utilities > iptables /Essentials/Linux utilities > iputils /Essentials/Linux utilities > kbd /Essentials/Linux utilities > net-tools /Essentials/Linux utilities > procps /Essentials/Linux utilities > psmisc /Essentials/Linux utilities > libdrm /Graphics/Display \& Graphics Adaptation > xorg-x11-drv-fbdev /Graphics/Display \& Graphics Adaptation > xorg-x11-drv-vesa /Graphics/Display \& Graphics Adaptation > fontconfig /Graphics/Font Management > fontpackages /Graphics/Font Management > freetype /Graphics/Font Management > libfontenc /Graphics/Font Management > cjkuni-fonts /Graphics/Fonts > droid-fonts /Graphics/Fonts > liberation-fonts /Graphics/Fonts > lcms /Graphics/Imaging > libexif /Graphics/Imaging > libjpeg /Graphics/Imaging > libmng /Graphics/Imaging > libpng /Graphics/Imaging > libtiff /Graphics/Imaging > xorg-x11-drv-evdev /Graphics/Input Adaptation > xorg-x11-drv-keyboard /Graphics/Input Adaptation > xorg-x11-drv-mouse /Graphics/Input Adaptation > llvm /Graphics/OpenGL ES > mesa /Graphics/OpenGL ES > libICE /Graphics/X11 > libpciaccess /Graphics/X11 > libSM /Graphics/X11 > libX11 /Graphics/X11 > libXau /Graphics/X11 > libXaw /Graphics/X11 > libxcb /Graphics/X11 > libXcomposite /Graphics/X11 > libXcursor /Graphics/X11 > libXdamage /Graphics/X11 > libXdmcp /Graphics/X11 > libXevie /Graphics/X11 > libXext /Graphics/X11 > libXfixes /Graphics/X11 > libXfont /Graphics/X11 > libXfontcache /Graphics/X11 > libXft /Graphics/X11 > libXi /Graphics/X11 > libXinerama /Graphics/X11 > libxkbfile /Graphics/X11 > libXmu /Graphics/X11 > libXpm /Graphics/X11 > libXrandr /Graphics/X11 > libXrender /Graphics/X11 > libXres /Graphics/X11 > libXScrnSaver /Graphics/X11 > libXt /Graphics/X11 > libXTrap /Graphics/X11 > libXtst /Graphics/X11 > libXv /Graphics/X11 > libXvMC /Graphics/X11 > libXxf86dga /Graphics/X11 > libXxf86misc /Graphics/X11 > libXxf86vm /Graphics/X11 > pixman /Graphics/X11 > xcb-util /Graphics/X11 > xkeyboard-config /Graphics/X11 > xorg-x11-filesystem /Graphics/X11 > xorg-x11-server /Graphics/X11 > xorg-x11-utils-xhost /Graphics/X11 > xorg-x11-xauth /Graphics/X11 > xorg-x11-xkb-utils /Graphics/X11 > alsa-lib /Multimedia/ALSA > alsa-utils /Multimedia/ALSA > flac /Multimedia/Codecs > libogg /Multimedia/Codecs > libsndfile /Multimedia/Codecs > libtheora /Multimedia/Codecs > libvorbis /Multimedia/Codecs > speex /Multimedia/Codecs > cairo /Multimedia/GStreamer > gst-plugins-bad-free /Multimedia/GStreamer > gst-plugins-base /Multimedia/GStreamer > gstreamer /Multimedia/GStreamer > libvisual /Multimedia/GStreamer > pango /Multimedia/GStreamer > libasyncns /Multimedia/PulseAudio > orc /Multimedia/PulseAudio > pulseaudio /Multimedia/PulseAudio > qmf /Qt/QMF > qt /Qt/Qt > qt-mobility /Qt/Qt Mobility > qtwebkit /Qt/Qt WebKit > augeas /Software Management/Package Manager > deltarpm /Software Management/Package Manager > libsatsolver /Software Management/Package Manager > libsolv /Software Management/Package Manager > libzypp /Software Management/Package Manager > rpm /Software Management/Package Manager > zypper /Software Management/Package Manager > contextkit /System/Context Framework > qjson /System/Context Framework > tinycdb /System/Context Framework > sensorfw /System/Sensor Framework > udev /System/Startup Services > uxlaunch /System/Startup Services > systemd /System/System Control > > BR > Carsten Munk > > >
