From Fedora Project Wiki
Line 58: Line 58:


systemd, gdm, gnome-shell, gtk3, qt plus their dependencies
systemd, gdm, gnome-shell, gtk3, qt plus their dependencies
Here is the full list of packages that are installed as dependencies of systemd, gdm, gnome-shell, gtk3:
(FIXME: figure out what qt packages need to added)
at-spi2-core
control-center-filesystem
at-spi2-atk
setup
accountsservice
tzdata
libgusb
telepathy-filesystem
gtk3
adwaita-cursor-theme
libcanberra-gtk3
heisenbug-backgrounds-gnome
bluez
mozilla-filesystem
gnome-keyring
linux-firmware
adwaita-gtk3-theme
emacs-filesystem
libnm-gtk
nss-softokn-freebl
colord
glibc
gnome-themes-standard
ncurses-libs
pycairo
xz-libs
pyatspi
pcre
caribou-gtk2-module
zlib
caribou
libxml2
GConf2
nss-util
gnome-session-xsession
libcom_err
ibus-libs
pkgconfig
realmd
shared-mime-info
gnutls
gobject-introspection
libsoup
p11-kit
geoclue2
libwayland-server
geoclue
libICE
usbmuxd
libdb
upower
libgcrypt
libmcpp
gsettings-desktop-schemas
xorg-x11-server-utils
freetype
hardlink
expat
kernel
libuuid
pulseaudio-module-bluetooth
readline
libvisual
libevdev
webkitgtk3
libcap
libgdata
popt
zenity
dbus-glib
mutter-wayland
libsecret
gnome-shell
gstreamer1
gnome-settings-daemon
hunspell-en-US
pulseaudio-gdm-hooks
libjpeg-turbo
libXau
libX11
libXfixes
libXrandr
libXdamage
libXtst
libXinerama
libXt
libplist
gmp
libtool-ltdl
lcms2
libtasn1
libXmu
nss-softokn
libcroco
mozjs24
kmod
orc
elfutils-libelf
harfbuzz
slang
harfbuzz-icu
xorg-x11-xauth
ca-certificates
telepathy-logger
libXxf86misc
libXv
startup-notification
hunspell-en-GB
acl
desktop-backgrounds-gnome
libdb-utils
flac-libs
desktop-file-utils
ModemManager-glib
diffutils
gawk
mozjs17
iso-codes
avahi-libs
xz
abattis-cantarell-fonts
webrtc-audio-processing
libproxy
libasyncns
libverto
gsm
libsamplerate
keyutils-libs
libxshmfence
libtiff
libthai
libwebp
libXdmcp
libsemanage
openssl-libs
gzip
cracklib-dicts
systemd-libs
libmount
nss
shadow-utils
libblkid
util-linux
fontconfig
libusbx
hicolor-icon-theme
cups-libs
python-libs
fedora-logos
libcurl
curl
rpm
newt-python
gnome-icon-theme-symbolic
openssl
sound-theme-freedesktop
fipscheck-lib
device-mapper
cryptsetup-libs
dbus
polkit
libdrm
mesa-libEGL
mesa-libGL
pango
cogl
librsvg2
libgcc
dbus-x11
fontpackages-filesystem
gtk2
filesystem
accountsservice-libs
basesystem
colord-libs
libX11-common
gcr
heisenbug-backgrounds-base
clutter
libwacom-data
dconf
mobile-broadband-provider-info
gnome-keyring-pam
hwdata
gnome-bluetooth-libs
ncurses-base
gjs
glibc-common
adwaita-gtk2-theme
libstdc++
gnome-desktop3
bash
pygobject3
libsepol
caribou-gtk3-module
libselinux
python-caribou
dbus-libs
rtkit
nspr
gnome-session
info
libwacom
libffi
PackageKit-glib
glib2
trousers
atk
glib-networking
libwayland-client
libgweather
json-glib
geocode-glib
audit-libs
rest
libogg
libimobiledevice
libgpg-error
kpartx
libwayland-cursor
mcpp
libpng
xorg-x11-xinit
mesa-libwayland-egl
dracut
libxkbcommon
pulseaudio
libSM
gnome-bluetooth
sqlite
gstreamer1-plugins-base
libattr
gnome-online-accounts
libacl
evolution-data-server
chkconfig
mutter
sed
gdm-libs
libvorbis
libnotify
grep
gdm
hunspell
hunspell-en
bzip2-libs
libxcb
libXext
libXrender
libXi
libXcomposite
libXcursor
libxkbfile
telepathy-glib
mesa-libglapi
libicu
libcap-ng
libtdb
libical
libXxf86vm
lua
libidn
kmod-libs
redhat-menus
tcp_wrappers-libs
graphite2
pixman
newt
gnome-menus
p11-kit-trust
nettle
xorg-x11-xkb-utils
libXevie
xcb-util
jasper-libs
enchant
libmetalink
libxslt
cyrus-sasl-lib
libtheora
libgee
cpio
make
findutils
xml-common
libxklavier
psmisc
lyx-fonts
ncurses
libmodman
libpciaccess
json-c
gdbm
libsndfile
qrencode-libs
speex
jbigkit-libs
gdk-pixbuf2
sbc
cdparanoia-libs
ustr
krb5-libs
nss-tools
cracklib
openldap
libpwquality
libuser
coreutils
pam
libutempter
nss-sysinit
pulseaudio-libs
alsa-lib
gnome-icon-theme
pulseaudio-libs-glib2
python
libssh2
liboauth
rpm-libs
color-filesystem
pygobject3-base
libXft
authconfig
procps-ng
fipscheck
device-mapper-libs
systemd
libgudev1
polkit-pkla-compat
mesa-libgbm
libcanberra
cairo
cairo-gobject
NetworkManager-glib


=== Policies for software add-ons ===
=== Policies for software add-ons ===

Revision as of 20:49, 10 February 2014

Fedora Workstation Technical Specification

Core Services and Features

This section should describe the core services of the platform and their intended use. The items here should refer back to the PRD for a functional justification.

Service management

Systemd provides ways to control and monitor the activity and status of system services, resources they require, etc. System services are expected to provide systemd units.

Logging

The systemd journal will be used as the local storage backend for system logs. For 'managed' scenarios (e.g the 'developer in a large organization' use case of the PRD), it will be possible to collect the logs in a centralized location, off the local machine.

Applications and services can either use the syslog API or the journal APIs for their logging.

Session tracking

Logind will be used as the session tracking facility.

Account handling

SSSD is providing the backing storage for identity management. For 'managed' scenarios (e.g. the 'developer in a large organization' use case of the PRD), it will be possible to configure it to rely on a directory service for this information. The accountsservice is providing a D-Bus interface for user account information; this may be integrated into SSSD at some point.

Depending on their needs, application and services can either use the POSIX APIs (getpwent(), etc) or the accountsservice D-Bus interface to obtain user information.

Miscellaneous system information

System locale, timezone, hostname, etc. will be managed through the services provided by systemd for this purpose.

Display manager

gdm will be used as the display manager. It is responsible for showing a login screen on each seat. It will be able to launch both X-based sessions and Wayland sessions.

Desktop environments are expected to make themselves known as an available session option on the login screen by dropping a .desktop file into /usr/share/xsessions (or its wayland equivalent).

Other facilities provided by the display manager include screen unlock authentication and user switching.

Accessibility

The accessibility support in the workstation includes a screen reader, a high-contrast theme and a zoom capability, amongst others. The screen reading is provided through orca, which runs as a session service and requires the at-spi infrastructure. Applications are expected to provide suitable information to the screen reader via the toolkit's accessibility support. Applications are also expected to work acceptably in the high-contrast theme. The zoom is implemented in the desktop shell and does not need any application support.

Appearance

The workstation will ship with a single theme, which will have support for the included toolkits: gtk3, qt and gtk2. Applications are expected to work well with this theme, as well as with the high-contrast theme that is used for accessibility. The theme will include a dark variant that applications can opt into using (this is most suitable for certain content-focused applications). The theme also includes an icon theme that provides named icons according to the icon-naming spec, plus symbolic variants.

Firewall

TBD

Core Package list

List the core packages of the product. This list includes all packages that will be shipping on the core media. This is the mandatory minimal list of packages that needs to be installed on a system at all times for it to qualify as a Fedora workstation install. This package list will be the priority focus for QA and bug fixing.

Package list

systemd, gdm, gnome-shell, gtk3, qt plus their dependencies

Here is the full list of packages that are installed as dependencies of systemd, gdm, gnome-shell, gtk3: (FIXME: figure out what qt packages need to added)

at-spi2-core control-center-filesystem at-spi2-atk setup accountsservice tzdata libgusb telepathy-filesystem gtk3 adwaita-cursor-theme libcanberra-gtk3 heisenbug-backgrounds-gnome bluez mozilla-filesystem gnome-keyring linux-firmware adwaita-gtk3-theme emacs-filesystem libnm-gtk nss-softokn-freebl colord glibc gnome-themes-standard ncurses-libs pycairo xz-libs pyatspi pcre caribou-gtk2-module zlib caribou libxml2 GConf2 nss-util gnome-session-xsession libcom_err ibus-libs pkgconfig realmd shared-mime-info gnutls gobject-introspection libsoup p11-kit geoclue2 libwayland-server geoclue libICE usbmuxd libdb upower libgcrypt libmcpp gsettings-desktop-schemas xorg-x11-server-utils freetype hardlink expat kernel libuuid pulseaudio-module-bluetooth readline libvisual libevdev webkitgtk3 libcap libgdata popt zenity dbus-glib mutter-wayland libsecret gnome-shell gstreamer1 gnome-settings-daemon hunspell-en-US pulseaudio-gdm-hooks libjpeg-turbo libXau libX11 libXfixes libXrandr libXdamage libXtst libXinerama libXt libplist gmp libtool-ltdl lcms2 libtasn1 libXmu nss-softokn libcroco mozjs24 kmod orc elfutils-libelf harfbuzz slang harfbuzz-icu xorg-x11-xauth ca-certificates telepathy-logger libXxf86misc libXv startup-notification hunspell-en-GB acl desktop-backgrounds-gnome libdb-utils flac-libs desktop-file-utils ModemManager-glib diffutils gawk mozjs17 iso-codes avahi-libs xz abattis-cantarell-fonts webrtc-audio-processing libproxy libasyncns libverto gsm libsamplerate keyutils-libs libxshmfence libtiff libthai libwebp libXdmcp libsemanage openssl-libs gzip cracklib-dicts systemd-libs libmount nss shadow-utils libblkid util-linux fontconfig libusbx hicolor-icon-theme cups-libs python-libs fedora-logos libcurl curl rpm newt-python gnome-icon-theme-symbolic openssl sound-theme-freedesktop fipscheck-lib device-mapper cryptsetup-libs dbus polkit libdrm mesa-libEGL mesa-libGL pango cogl librsvg2 libgcc dbus-x11 fontpackages-filesystem gtk2 filesystem accountsservice-libs basesystem colord-libs libX11-common gcr heisenbug-backgrounds-base clutter libwacom-data dconf mobile-broadband-provider-info gnome-keyring-pam hwdata gnome-bluetooth-libs ncurses-base gjs glibc-common adwaita-gtk2-theme libstdc++ gnome-desktop3 bash pygobject3 libsepol caribou-gtk3-module libselinux python-caribou dbus-libs rtkit nspr gnome-session info libwacom libffi PackageKit-glib glib2 trousers atk glib-networking libwayland-client libgweather json-glib geocode-glib audit-libs rest libogg libimobiledevice libgpg-error kpartx libwayland-cursor mcpp libpng xorg-x11-xinit mesa-libwayland-egl dracut libxkbcommon pulseaudio libSM gnome-bluetooth sqlite gstreamer1-plugins-base libattr gnome-online-accounts libacl evolution-data-server chkconfig mutter sed gdm-libs libvorbis libnotify grep gdm hunspell hunspell-en bzip2-libs libxcb libXext libXrender libXi libXcomposite libXcursor libxkbfile telepathy-glib mesa-libglapi libicu libcap-ng libtdb libical libXxf86vm lua libidn kmod-libs redhat-menus tcp_wrappers-libs graphite2 pixman newt gnome-menus p11-kit-trust nettle xorg-x11-xkb-utils libXevie xcb-util jasper-libs enchant libmetalink libxslt cyrus-sasl-lib libtheora libgee cpio make findutils xml-common libxklavier psmisc lyx-fonts ncurses libmodman libpciaccess json-c gdbm libsndfile qrencode-libs speex jbigkit-libs gdk-pixbuf2 sbc cdparanoia-libs ustr krb5-libs nss-tools cracklib openldap libpwquality libuser coreutils pam libutempter nss-sysinit pulseaudio-libs alsa-lib gnome-icon-theme pulseaudio-libs-glib2 python libssh2 liboauth rpm-libs color-filesystem pygobject3-base libXft authconfig procps-ng fipscheck device-mapper-libs systemd libgudev1 polkit-pkla-compat mesa-libgbm libcanberra cairo cairo-gobject NetworkManager-glib

Policies for software add-ons

General rules and policies for how extra software is installed and what requirements are put on that software.

Engineering Roadmap

Not sure if we want this section here or if we should just make this a pure description document and put the implementation roadmap in a separate document.