Colord-1.4.7

Introduction to Colord

Colord is a system service that makes it easy to manage, install, and generate color profiles. It is used mainly by GNOME Color Manager for system integration and use when no users are logged in.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Additional Downloads

Colord Dependencies

Required

dbus-1.14.10, GLib-2.82.2 (GObject Introspection recommended), Little CMS-2.16, Polkit-125, and SQLite-3.47.0

Recommended

Optional

gnome-desktop-44.1 and colord-gtk-0.3.1 (to build the example tools), docbook-xml-5.0, docbook-xsl-ns-1.79.2, and libxslt-1.1.42 (to build the man pages), GTK-Doc-1.34.0, libxslt-1.1.42, SANE-1.2.1, ArgyllCMS, and Bash Completion

Installation of Colord

First, fix a misuse of the sqlite API causing a test failure and potential runtime crash, as well as an overly-strict systemd hardening setting causing the systemd service to fail to start:

patch -Np1 -i ../colord-1.4.7-upstream_fixes-1.patch

There should be a dedicated user and group to take control of the colord daemon after it has started. Issue the following commands as the root user:

groupadd -g 71 colord &&
useradd -c "Color Daemon Owner" -d /var/lib/colord -u 71 \
        -g colord -s /bin/false colord

Install Colord by running the following commands:

mkdir build &&
cd    build &&

meson setup ..                  \
      --prefix=/usr             \
      --buildtype=release       \
      -D daemon_user=colord     \
      -D vapi=true              \
      -D systemd=true           \
      -D libcolordcompat=true   \
      -D argyllcms_sensor=false \
      -D bash_completion=false  \
      -D docs=false             \
      -D man=false              &&
ninja

If docbook-xml-5.0, docbook-xsl-ns-1.79.2, and libxslt-1.1.42 are installed, build the man pages:

sed -e '/class="manual"/i<refmiscinfo class="source">colord</refmiscinfo>' \
    -i ../man/*.xml &&
meson configure -D man=true &&
ninja

Now, as the root user:

ninja install

To test the results, issue: ninja test. One test, colord-self-test-daemon, will fail if the package is already installed. The test suite must be run with the system-wide D-Bus Daemon running.

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-D daemon_user=colord: This switch is used so the colord daemon will run as an unprivileged user instead of the root user.

-D vapi=true: This switch enables building the Vala bindings. Remove if you don't have Vala-0.56.17 installed.

-D systemd=true: This switch enables installation of the systemd service.

-D libcolordcompat=true: This switch enables building a compatibility library for older packages that use Colord.

-D argyllcms_sensor=false: This switch disables the ArgLLCMS sensor driver. Omit if you have ArgyllCMS installed and wish to use it.

-D bash_completion=false: This switch disables Bash Completion support for Colord applications.

-D docs=false: This switch disables building of documentation. Omit if you have GTK-Doc-1.34.0 available.

Contents

Installed Programs: cd-create-profile, cd-fix-profile, cd-iccdump, cd-it8, and colormgr
Installed Libraries: libcolord.so, libcolordcompat.so, libcolordprivate.so, and libcolorhug.so
Installed Directories: /usr/include/colord-1, /usr/lib/colord-{plugins,sensors}, /usr/share/color{d}, /usr/share/gtk-doc/html/colord, and /var/lib/colord

Short Descriptions

cd-create-profile

is the Color Manager Profile Creation Tool

cd-fix-profile

is a tool used to fix metadata in ICC profiles

cd-iccdump

dumps the contents of an ICC profile as human readable text

cd-it8

is the Color Manager Testing Tool

colormgr

is a text-mode program that allows you to interact with colord on the command line

libcolord.so

contains the Colord API functions

libcolordcompat.so

contains legacy API functions for compatibility with older applications

libcolordprivate.so

contains internal API functions for the programs included with Colord

libcolorhug.so

contains a simple display hardware colorimiter