The Linux Foundation

 
WheresMyLibrary

From The Linux Foundation

Revision as of 21:38, 8 February 2008 by Mats (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)

This page aims to give some pointers on libraries that are or are not in the LSB specification. Some notes on what it takes to get in are in the [http://www.linuxbase.org/futures/criteria/index.html lsb-futures selection criteria]. For a library, the "demand" criteria may not be obvious: it needs to be required for user applications. A library may be widely used, but hidden by the implementation - e.g. used by a toolkit that is in turn used by apps, but is not called directly by the app. In this case it may not need to be in the LSB. This list is neither definitive nor a roadmap of features intended to be added for any particular release, only a quick way to look up info quickly if you're curious about a library.

Contents

Base libraries: C, C++, misc. utility

  • libc, libcrypt, libdl, libm, libpthread, libutil: included in lsb-core
    • glibc 2.4 support is a LSB 4.0 candidate
  • librt - realtime:
    • clock_*, shm_q*, timer_*: included in lsb-core beginning with LSB 3
    • mq_*: message queues, added in LSB 3.2
    • async I/O (aio_*, lio_*): not in spec, tracked in futures
  • libnsl, libresolv: not in spec, not believed to be needed by applications
  • libnss_*: name service switch, should not be called directly by apps
  • libstdc++ - C++ support:
    • version 5: included in lsb-c++ for LSB 2
    • version 6: included in lsb-c++ for LSB 3
    • version 7: not deployed in the field yet, will consider for LSB 4
  • libgcc_s: included in lsb-core
  • libncurses: included in lsb-core
  • libncursesw: not in spec, LSB 4.0 candidate
  • libpam - pluggable authentication: included in lsb-core
  • libz - gzip compression: included in lsb-core
  • libbz2 - bzip2 compression: LSB 4.0 candidate

Miscellaneous

  • pcre - Perl Compatible Regular Expression: not in spec, LSB 4.0 candidate

X11 and Graphics Libraries

X11 Core Libraries

  • libX11 - Xlib: included in lsb-graphics
  • libXt - X Toolkit: included in lsb-graphics
  • libICE - Inter Client Exchange: included in lsb-graphics
  • libSM - Session Managment: included in lsb-graphics
  • libXext - Extension library: included in lsb-graphics but see breakout below
  • libFS - Font Server protocol: not in spec
  • libXau - Xauthorization: not in spec
  • libXaw - Athena Widget Library: not in spec
  • libXmu - Misc Utilities (depends on Xt): not in spec
  • libXmuu - Misc Utilities (standalone): not in spec

X11 Extension Libraries - 'A' list

'A' list items are considered reasonable candidates for inclusion.

  • In libXext:
    • DPMS - Display Power Management: included in lsb-graphics
    • Xdbe - Double Buffer: included in lsb-graphics
    • XShm - Share memory Pixmaps: included in lsb-graphics
    • XSync - Synchronization: included in lsb-graphics
    • XShape - Shape: included in lsb-graphics (v1.1, not in LSB, has been requested by FSG A11Y)
    • XSecurity - Security: included in lsb-graphics
    • Xevi - Extended Visual Interface: included in lsb-graphics beginning with LSB 3
    • XMITMisc - Misc: not in spec
  • libXcomposite - Composite: not in spec (requested by FSG A11Y)
  • libXcursor - Cursor themes: not in spec
  • libXdamage - Damage: not in spec (requested by FSG A11Y)
  • libXevie - Extended Events: not in spec
  • libXfixes - Misc fixes: not in spec (requested by FSG A11Y)
  • libXft - Client side Font library: added in LSB 3.2
  • libXi - Input: included in lsb-graphics beginning with LSB 3
  • libXinerama - Xinerama: not in spec
  • libXpm - X Pixmap Library: not in spec
  • libXrender - Render: added in LSB 3.2
  • libXss - Screen Saver: not in spec
  • libXv - Video: not in spec
  • libXvMC - Video Attributes: not in spec
  • libxkbfile, libxkbui - keyboard: not in spec (requested by FSG A11Y) tracked in futures

X11 Extension Libraries - 'B' list

  • In libXext:
    • Xag - App Group: not in spec
    • Xcups - Colomap management: not in spec
    • Xmbuf - Multi Buffer: not in spec
    • XTest - XTest: not in spec
  • libXdmx - Display wall: not in spec
  • libXCalibrate - ????: not in spec
  • libXp - Xprint tracked in futures
  • libXrandr - Resize & Rotate: not in spec
  • libXxf86dga - Direct Graphics: not in spec
  • libXxf86misc - Misc: not in spec
  • libXxf86rush - Voodo graphics card : not in spec
  • libXxf86vm - ??: not in spec
  • libXRes - Resource monitoring: not in spec
  • libXTrap - access to server & protocol: not in spec
  • libXtst - Event Recording and synthesis: LSB 4.0 candidate
  • libaudio - Audio: not in spec

Libraries from Freedesktop.Org

  • cairo - New rendering API: not in spec, LSB 4.0 candidate
  • fontconfig - Font management: added in LSB 3.1
  • xcb - New interface to X Protocol: not in spec
  • dbus - New IPC API: not in spec, LSB 4.0 candidate
  • hal - Hardware Abstraction Layer: not in spec, LSB 4.0 candidate

Other Graphics Libraries

  • libpng, libjpeg: added in LSB 3.1
  • libtiff: LSB 4.0 candidate
  • libGL: included in lsb-graphics
  • libglx - X Windows binding of GL: not in spec
  • libGLU - GL Utilities: LSB 4.0 candidate
  • libglut - GL Toolkit: not in spec
  • libXm - Motif: tracked in futures
  • libfreetype - TrueType font handling: added in LSB 3.2
  • libmng - Multiple-image Network Graphics (png based): not in spec
  • liblcms - Little Color Management System: not in spec

xml handling

  • libxml2 - XML parser: in LSB 3.1
  • libxslt - XSL Transformation toolkit (companion to xml2): LSB 4.0 candidate
  • libexpat - XML parser: not in spec

Security

Gtk+ and Gnome Libraries

  • Gtk+ libraries added in LSB 3.1:
    • libatk-1.0
    • libgdk-x11-2.0
    • libgdk_pixbuf-2.0
    • libgdk_pixbuf_xlib-2.0
    • libglib-2.0
    • libgmodule-2.0
    • libgobject-2.0
    • libgthread-2.0
    • libgtk-x11-2.0
    • libpango-1.0
    • libpangoft2-1.0
    • libpangoxft-1.0
  • LSB 4.0 candidate:
    • libpangocairo
  • Possible later candidate:
    • libgconf-2
  • Better to bundle with app:
    • libglade-2.0

Qt and KDE Libraries

  • libqt-mt - Qt3 library, added in LSB 3.1
  • Qt4 libraries optional in LSB 3.1, required at 3.2:
    • libQtCore
    • libQtGui
    • libQtNetwork
    • libQtOpenGL
    • libQtSql
    • libQtSvg
    • libQtXml
  • Qt4 omitted library, 4.0 candidate
    • libQtDbus

A Document Structure View

The LSB consists of several sets of books. Each book documents one aspect of the system. The following set of tables attempts to show which libraries are to be found in what part of the overall written specification, or where they would go if they're added. The three library columns are independent - don't read across at this point, for example there's no intended relationship between "libc", "libssl" and "libnsl" in the first data line.

Book Name Section Current Libraries Libs tracked in Futures Other Libs
LSB-Core baselib libc libssl libnsl
LSB-Core baselib libm librt async I/O libnss*
LSB-Core baselib libgcc_s librt (Advanced Realtime)
LSB-Core baselib libpthread
LSB-Core baselib libdl
LSB-Core baselib libcrypt
LSB-Core baselib libpam
LSB-Core utillib libz libbzip2 libexpat
LSB-Core utillib libncurses libxml2
LSB-Core utillib libutil libxslt
C++ standard libs libstdc++ (v5) libstdc++ (v6)
Graphics libraries libX11 libXp
Graphics libraries libXext
Graphics libraries libSM
Graphics libraries libICE
Graphics libraries libXt
Graphics OpenGL libGL libGLU libglut
Graphics Other?? libpng
Graphics Other?? libjpeg
Graphics Other?? libtiff
Desktop Motif
Desktop libqt

[wiki:WheresMyLibrary/Comments User Comments] [[Include(WheresMyLibrary/Comments)]]


[Article] [Discussion] [View source] [History]