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
>
>
>

Reply via email to