mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-23 14:32:13 +08:00
Elogind: Added, along with... all the necessary packages... Fixes issue #20.
Amount of packages added: 9.
This commit is contained in:
parent
81f6fa0cfc
commit
bec49eef92
@ -42,6 +42,13 @@
|
||||
<listitem>
|
||||
<para>September 11th, 2024</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
[Zeckmathederg] - Elogind: Added, along with... all the necessary
|
||||
packages... Fixes issue
|
||||
<ulink url="https://github.com/Zeckmathederg/glfs/issues/20">#20.</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[Zeckmathederg] - Python: 3.12.4 -> 3.12.6.</para>
|
||||
</listitem>
|
||||
|
@ -35,11 +35,7 @@
|
||||
packages not being in the book is that the packages take a lot
|
||||
of work to install and require jumping around. They can also require
|
||||
a lot of choice or take up space or RAM for no real benefit for a
|
||||
lot of users when there are more simple solutions, for example: a
|
||||
logind variant being completely unnecessary as the regular user can
|
||||
just be added to the <systemitem class='groupname'>audio</systemitem>,
|
||||
<systemitem class='groupname'>video</systemitem>, and
|
||||
<systemitem class='groupname'>input</systemitem> groups.
|
||||
lot of users when there are more simple solutions.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
@ -51,7 +47,7 @@
|
||||
There are some optional dependencies that aren't listed, and the
|
||||
main reason for this is that they just would take up unnecessary
|
||||
space. If on the offchance you desire even more out of your system,
|
||||
there are plenty more packages in BLFS and is more geared for
|
||||
there are plenty more packages in BLFS and BLFS is more geared for
|
||||
everyone, although this book focuses more on gaming.
|
||||
</para>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
INPUT = $(wildcard */*.toml */*/*.toml */*/*/*.toml)
|
||||
INPUT = $(wildcard */*.toml */*/*.toml */*/*/*.toml */*/*/*/*.toml)
|
||||
OUTPUT = $(patsubst %.toml, ../%-kernel.xml, $(INPUT))
|
||||
|
||||
ifeq ($(KERNEL_TREE),)
|
||||
|
4
kernel-config/shareddeps/dps/basicx/other/elogind.toml
Normal file
4
kernel-config/shareddeps/dps/basicx/other/elogind.toml
Normal file
@ -0,0 +1,4 @@
|
||||
INOTIFY_USER = '*'
|
||||
# not really forced, but if you select DRM_I915 it will seem "forced"
|
||||
TMPFS='*'
|
||||
TMPFS_POSIX_ACL='*'
|
1
kernel-config/shareddeps/dps/basicx/other/linux-pam.toml
Normal file
1
kernel-config/shareddeps/dps/basicx/other/linux-pam.toml
Normal file
@ -0,0 +1 @@
|
||||
AUDIT='*'
|
10
packages.ent
10
packages.ent
@ -102,6 +102,16 @@
|
||||
<!ENTITY icu-patch "0">
|
||||
<!ENTITY icu-version "&icu-major;.&icu-minor;">
|
||||
<!ENTITY libxml2-version "2.13.3">
|
||||
<!ENTITY linux-pam-version "1.6.1">
|
||||
<!ENTITY linux-pam-docs-version "&linux-pam-version;">
|
||||
<!ENTITY shadow-version "4.16.0">
|
||||
<!ENTITY elogind-version "255.5">
|
||||
<!ENTITY duktape-version "2.7.0">
|
||||
<!ENTITY glib2-minor "2.82">
|
||||
<!ENTITY glib2-version "&glib2-minor;.0">
|
||||
<!ENTITY shared-mime-info-version "2.4">
|
||||
<!ENTITY desktop-file-utils-version "0.27">
|
||||
<!ENTITY polkit-version "125">
|
||||
<!-- Wayland -->
|
||||
<!ENTITY wayland-version "1.23.1">
|
||||
<!ENTITY wayland-protocols-version "1.37">
|
||||
|
230
shareddeps/dps/basicx/other/desktop-file-utils.xml
Normal file
230
shareddeps/dps/basicx/other/desktop-file-utils.xml
Normal file
@ -0,0 +1,230 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY desktop-file-utils-download-http
|
||||
"https://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-&desktop-file-utils-version;.tar.xz">
|
||||
<!ENTITY desktop-file-utils-download-ftp " ">
|
||||
]>
|
||||
|
||||
<sect1 id="desktop-file-utils" xreflabel="desktop-file-utils-&desktop-file-utils-version;">
|
||||
<?dbhtml filename="desktop-file-utils.html"?>
|
||||
|
||||
|
||||
<title>desktop-file-utils-&desktop-file-utils-version;</title>
|
||||
|
||||
<indexterm zone="desktop-file-utils">
|
||||
<primary sortas="a-desktop-file-utils">desktop-file-utils</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to Desktop File Utils</title>
|
||||
|
||||
<para>
|
||||
The <application>Desktop File Utils</application> package contains
|
||||
command line utilities for working with <ulink
|
||||
url="https://standards.freedesktop.org/desktop-entry-spec/latest/">
|
||||
Desktop entries</ulink>. These utilities are used by Desktop
|
||||
Environments and other applications to manipulate the MIME-types
|
||||
application databases and help adhere to the Desktop Entry
|
||||
Specification.
|
||||
</para>
|
||||
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&desktop-file-utils-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&desktop-file-utils-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Desktop File Utils Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required">
|
||||
<xref linkend="glib2"/>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Desktop File Utils</title>
|
||||
|
||||
<warning>
|
||||
<para>
|
||||
If you are upgrading from a previous version of desktop-file-utils that
|
||||
used the Autotools method of installing and configuring the package,
|
||||
you must remove the desktop-file-edit symlink by using the following
|
||||
commands.
|
||||
</para>
|
||||
<screen role="root"><userinput>rm -fv /usr/bin/desktop-file-edit</userinput></screen>
|
||||
</warning>
|
||||
<!-- Works around a bug in meson's symlink creation exposed by this package -->
|
||||
|
||||
<para>
|
||||
Install <application>Desktop File Utils</application> by
|
||||
running the following commands:
|
||||
</para>
|
||||
|
||||
<screen><userinput>mkdir build &&
|
||||
cd build &&
|
||||
|
||||
meson setup --prefix=/usr --buildtype=release .. &&
|
||||
ninja</userinput></screen>
|
||||
|
||||
<para>
|
||||
This package does not come with a test suite.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Now, as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>ninja install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../../../xincludes/meson-buildtype-release.xml"/>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="configuration">
|
||||
<title>Configuring Desktop File Utils</title>
|
||||
|
||||
<sect3>
|
||||
<title>Configuration Information</title>
|
||||
|
||||
<para>
|
||||
The <ulink
|
||||
url="https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
|
||||
Base Directory</ulink> specification defines the standard locations for
|
||||
applications to place data and configuration files. These files can be
|
||||
used, for instance, to define the menu structure and menu items in a
|
||||
desktop environment.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The default location for configuration files to be installed
|
||||
is <filename class="directory">/etc/xdg</filename>, and the default
|
||||
locations for data files are <filename
|
||||
class="directory">/usr/local/share</filename> and <filename
|
||||
class="directory">/usr/share</filename>. These locations can be
|
||||
extended with the environment variables <envar>XDG_CONFIG_DIRS</envar>
|
||||
and <envar>XDG_DATA_DIRS</envar>, respectively. The
|
||||
<application>GNOME</application>, <application>KDE</application> and
|
||||
<application>XFCE</application> environments respect these
|
||||
settings.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When a package installs a <filename>.desktop</filename> file
|
||||
to a location in one of the base data directories, the database
|
||||
that maps MIME-types to available applications can be updated. For
|
||||
instance, the cache file at
|
||||
<filename>/usr/share/applications/mimeinfo.cache</filename> can
|
||||
be rebuilt by executing the following command as the <systemitem
|
||||
class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>install -vdm755 /usr/share/applications &&
|
||||
update-desktop-database /usr/share/applications</userinput></screen>
|
||||
|
||||
</sect3>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Programs</segtitle>
|
||||
<segtitle>Installed Libraries</segtitle>
|
||||
<segtitle>Installed Directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
desktop-file-edit, desktop-file-install,
|
||||
desktop-file-validate and
|
||||
update-desktop-database
|
||||
</seg>
|
||||
<seg>
|
||||
None
|
||||
</seg>
|
||||
<seg>
|
||||
None
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="desktop-file-edit">
|
||||
<term><command>desktop-file-edit</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to modify an existing desktop file entry
|
||||
</para>
|
||||
<indexterm zone="desktop-file-utils desktop-file-edit">
|
||||
<primary sortas="b-desktop-file-edit">desktop-file-edit</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="desktop-file-install">
|
||||
<term><command>desktop-file-install</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to install a new desktop file entry. It is
|
||||
also used to rebuild or modify the MIME-types application
|
||||
database
|
||||
</para>
|
||||
<indexterm zone="desktop-file-utils desktop-file-install">
|
||||
<primary sortas="b-desktop-file-install">desktop-file-install</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="desktop-file-validate">
|
||||
<term><command>desktop-file-validate</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to verify the integrity of a desktop file
|
||||
</para>
|
||||
<indexterm zone="desktop-file-utils desktop-file-validate">
|
||||
<primary sortas="b-desktop-file-validate">desktop-file-validate</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="update-desktop-database">
|
||||
<term><command>update-desktop-database</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to update the MIME-types application database
|
||||
</para>
|
||||
<indexterm zone="desktop-file-utils update-desktop-database">
|
||||
<primary sortas="b-update-desktop-database">update-desktop-database</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
111
shareddeps/dps/basicx/other/duktape.xml
Normal file
111
shareddeps/dps/basicx/other/duktape.xml
Normal file
@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY duktape-download-http "https://duktape.org/duktape-&duktape-version;.tar.xz">
|
||||
<!ENTITY duktape-download-ftp " ">
|
||||
]>
|
||||
|
||||
<sect1 id="duktape" xreflabel="duktape-&duktape-version;">
|
||||
<?dbhtml filename="duktape.html"?>
|
||||
|
||||
|
||||
<title>duktape-&duktape-version;</title>
|
||||
|
||||
<indexterm zone="duktape">
|
||||
<primary sortas="a-duktape">duktape</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to duktape</title>
|
||||
|
||||
<para>
|
||||
<application>duktape</application> is an embeddable Javascript
|
||||
engine, with a focus on portability and compact footprint.
|
||||
</para>
|
||||
|
||||
<!-- To editors: make sure polkit works with duktape before
|
||||
tagging duktape. -->
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&duktape-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&duktape-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of duktape</title>
|
||||
|
||||
<para>
|
||||
Install <application>duktape</application> by running the
|
||||
following commands:
|
||||
</para>
|
||||
|
||||
<screen><userinput>sed -i 's/-Os/-O2/' Makefile.sharedlibrary
|
||||
make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr</userinput></screen>
|
||||
|
||||
<para>
|
||||
Now, as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Programs</segtitle>
|
||||
<segtitle>Installed Libraries</segtitle>
|
||||
<segtitle>Installed Directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
None
|
||||
</seg>
|
||||
<seg>
|
||||
libduktape.so and libduktaped.so
|
||||
</seg>
|
||||
<seg>
|
||||
None
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="libduktape.so">
|
||||
<term><filename class="libraryfile">libduktape.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is an embeddable Javascript engine
|
||||
</para>
|
||||
<indexterm zone="duktape">
|
||||
<primary sortas="c-duktape">libduktape.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
10
shareddeps/dps/basicx/other/elogind-kernel.xml
Normal file
10
shareddeps/dps/basicx/other/elogind-kernel.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE note PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
||||
<!-- Automatically generated by kernel-config.py
|
||||
DO NOT EDIT! -->
|
||||
<screen><emphasis role='blue'>F</emphasis>ile systems --->
|
||||
[*] <emphasis role='blue'>I</emphasis>notify support for userspace [INOTIFY_USER]
|
||||
<emphasis role='blue'>P</emphasis>seudo filesystems --->
|
||||
[*] <emphasis role='blue'>T</emphasis>mpfs virtual memory file system support (former shm fs) [TMPFS]
|
||||
[*] <emphasis role='blue'>T</emphasis>mpfs POSIX Access Control Lists [TMPFS_POSIX_ACL]</screen>
|
328
shareddeps/dps/basicx/other/elogind.xml
Normal file
328
shareddeps/dps/basicx/other/elogind.xml
Normal file
@ -0,0 +1,328 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY elogind-download-http "https://github.com/elogind/elogind/archive/v&elogind-version;/elogind-&elogind-version;.tar.gz">
|
||||
<!ENTITY elogind-download-ftp " ">
|
||||
]>
|
||||
|
||||
<sect1 id="elogind" revision="sysv" xreflabel="elogind-&elogind-version;">
|
||||
<?dbhtml filename="elogind.html"?>
|
||||
|
||||
|
||||
<title>elogind-&elogind-version;</title>
|
||||
|
||||
<indexterm zone="elogind">
|
||||
<primary sortas="a-elogind">elogind</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to elogind</title>
|
||||
|
||||
<para>
|
||||
<application>elogind</application> is the
|
||||
<application>systemd</application> project's "logind", extracted to
|
||||
be a standalone daemon. It integrates with <xref linkend="linux-pam"/>
|
||||
to track all the users logged in to a system, and whether they
|
||||
are logged in graphically, on the console, or remotely.
|
||||
<application>Elogind</application> exposes this information via the
|
||||
standard org.freedesktop.login1 <application>D-Bus</application>
|
||||
interface, and also through the file system using systemd's standard
|
||||
<filename class="directory">/run/systemd</filename> layout.
|
||||
</para>
|
||||
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&elogind-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&elogind-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">elogind Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Recommended</bridgehead>
|
||||
<para role="recommended">
|
||||
<xref role="runtime" linkend="dbus"/> (runtime),
|
||||
<xref linkend="linux-pam"/>, and
|
||||
<xref role="runtime" linkend="polkit"/> (runtime)
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="kernel" id="elogind-kernel">
|
||||
<title>Kernel Configuration</title>
|
||||
|
||||
<para>
|
||||
Enable the following options in the kernel configuration and recompile the
|
||||
kernel if necessary:
|
||||
</para>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="elogind-kernel.xml"/>
|
||||
|
||||
<indexterm zone="elogind elogind-kernel">
|
||||
<primary sortas="d-elogind">elogind</primary>
|
||||
</indexterm>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of elogind</title>
|
||||
|
||||
<para>
|
||||
Install <application>elogind</application> by running the following
|
||||
commands:
|
||||
</para>
|
||||
|
||||
<screen><userinput>mkdir build &&
|
||||
cd build &&
|
||||
|
||||
meson setup .. \
|
||||
--prefix=/usr \
|
||||
--buildtype=release \
|
||||
-D docdir=/usr/share/doc/elogind-&elogind-version; \
|
||||
-D cgroup-controller=elogind \
|
||||
-D dev-kvm-mode=0660 \
|
||||
-D dbuspolicydir=/etc/dbus-1/system.d &&
|
||||
ninja</userinput></screen>
|
||||
|
||||
<para>
|
||||
Now, as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>ninja install &&
|
||||
ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
|
||||
ln -sfvn elogind /usr/include/systemd</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
<!--
|
||||
<para>
|
||||
<command>sed ... meson.build</command>: This change allows the
|
||||
package to be built without polkit being installed (it is still a
|
||||
runtime dependency) but able to use polkit after that package is
|
||||
installed.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>sed ... src/login/logind.c</command>: This change allows the
|
||||
elogind daemon to exit when it is disconnected from dbus (for example
|
||||
when dbus is killed).
|
||||
</para>
|
||||
-->
|
||||
<para>
|
||||
<parameter>-D docdir=/usr/share/doc/elogind-&elogind-version;</parameter>:
|
||||
This is needed to install documentation in a versioned directory.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>-D cgroup-controller=elogind</parameter>: This switch is
|
||||
necessary to build this package when the kernel is not built with
|
||||
<option>CONFIG_CGROUPS</option> enabled. Note that
|
||||
<application>elogind</application> strictly needs
|
||||
a kernel with <option>CONFIG_CGROUPS</option> enabled at runtime,
|
||||
but this switch will allow building the package first.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>-D dbuspolicydir=/etc/dbus-1/system.d</parameter>: This switch
|
||||
sets the location of the <application>D-Bus</application> policy
|
||||
directory.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>-D dev-kvm-mode=0660</parameter>: The LFS udev rule sets the
|
||||
mode of <filename class='devicefile'>/dev/kvm</filename> to 0660.
|
||||
This option ensures the elogind udev rules consistent with the LFS
|
||||
configuration.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<option>-D default-kill-user-processes=false</option>: Determines whether
|
||||
the processes of a user should be killed when the user logs out. The
|
||||
default is <emphasis>true</emphasis>, but this defeats the traditional
|
||||
use of <command>screen</command> or <command>tmux</command>. This can
|
||||
also be changed in the configuration file (see below).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>ln -s ...</command>: These commands install symlinks so that
|
||||
software packages can find the systemd-compatible library and headers.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="configuration">
|
||||
<title>Configuring elogind</title>
|
||||
|
||||
<sect3 id="elogind-config">
|
||||
<title>Config File</title>
|
||||
<para>
|
||||
<filename>/etc/elogind/logind.conf</filename>
|
||||
</para>
|
||||
|
||||
<indexterm zone="elogind elogind-config">
|
||||
<primary
|
||||
sortas="e-etc-elogind-logind.conf">/etc/elogind/logind.conf</primary>
|
||||
</indexterm>
|
||||
</sect3>
|
||||
|
||||
<sect3><title>Configuration Information</title>
|
||||
|
||||
<para>
|
||||
The installed file <filename>/etc/elogind/logind.conf</filename>
|
||||
contains all the possible options with their defaults, commented
|
||||
out. You may wish to disable automatically killing user processes when the user logs
|
||||
out, by running, as the <systemitem class="username">root</systemitem>
|
||||
user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>sed -e '/\[Login\]/a KillUserProcesses=no' \
|
||||
-i /etc/elogind/logind.conf</userinput></screen>
|
||||
|
||||
<para>
|
||||
Each user will need to register a user session using
|
||||
<application>Linux-PAM</application> at login. The
|
||||
<filename>/etc/pam.d/system-session</filename> file needs to
|
||||
be modified and a new file must be created in order for
|
||||
<command>elogind</command> to work correctly. Run the following
|
||||
commands as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>cat >> /etc/pam.d/system-session << "EOF" &&
|
||||
<literal># Begin elogind addition
|
||||
|
||||
session required pam_loginuid.so
|
||||
session optional pam_elogind.so
|
||||
|
||||
# End elogind addition</literal>
|
||||
EOF
|
||||
cat > /etc/pam.d/elogind-user << "EOF"
|
||||
<literal># Begin /etc/pam.d/elogind-user
|
||||
|
||||
account required pam_access.so
|
||||
account include system-account
|
||||
|
||||
session required pam_env.so
|
||||
session required pam_limits.so
|
||||
session required pam_unix.so
|
||||
session required pam_loginuid.so
|
||||
session optional pam_keyinit.so force revoke
|
||||
session optional pam_elogind.so
|
||||
|
||||
auth required pam_deny.so
|
||||
password required pam_deny.so
|
||||
|
||||
# End /etc/pam.d/elogind-user</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>After completion of <application>elogind</application>,
|
||||
you should check that it functions properly. First ensure that
|
||||
<application>dbus</application> is running. It may be easiest
|
||||
to do this by rebooting the system. After logging in again, run
|
||||
the command <command>loginctl</command>. The result should indicate
|
||||
that a SESSION and a SEAT have been created.</para>
|
||||
</note>
|
||||
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content" revision="sysv">
|
||||
<title>Contents</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Programs</segtitle>
|
||||
<segtitle>Installed Library</segtitle>
|
||||
<segtitle>Installed Directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
busctl,
|
||||
elogind-inhibit, and
|
||||
loginctl
|
||||
</seg>
|
||||
<seg>
|
||||
libelogind.so
|
||||
</seg>
|
||||
<seg>
|
||||
/usr/lib/elogind,
|
||||
/etc/elogind,
|
||||
/usr/include/elogind, and
|
||||
/usr/share/doc/elogind-&elogind-version;
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="busctl">
|
||||
<term><command>busctl</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to introspect and monitor the D-Bus bus
|
||||
</para>
|
||||
<indexterm zone="elogind busctl">
|
||||
<primary sortas="b-busctl">busctl</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="elogind-inhibit">
|
||||
<term><command>elogind-inhibit</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to execute a program with a shutdown, sleep or idle
|
||||
inhibitor lock taken
|
||||
</para>
|
||||
<indexterm zone="elogind elogind-inhibit">
|
||||
<primary sortas="b-elogind-inhibit">elogind-inhibit</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="loginctl">
|
||||
<term><command>loginctl</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to introspect and control the state of the elogind Login
|
||||
Manager
|
||||
</para>
|
||||
<indexterm zone="elogind loginctl">
|
||||
<primary sortas="b-loginctl">loginctl</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libelogind">
|
||||
<term><filename class="libraryfile">libelogind.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is the main elogind utility library
|
||||
</para>
|
||||
<indexterm zone="elogind libelogind">
|
||||
<primary sortas="c-libelogind">libelogind.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
637
shareddeps/dps/basicx/other/glib2.xml
Normal file
637
shareddeps/dps/basicx/other/glib2.xml
Normal file
@ -0,0 +1,637 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY glib2-download-http "&gnome-download-http;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
|
||||
<!ENTITY glib2-download-ftp " ">
|
||||
]>
|
||||
|
||||
<sect1 id="glib2" xreflabel="GLib-&glib2-version;">
|
||||
<?dbhtml filename="glib2.html"?>
|
||||
|
||||
|
||||
<title>GLib-&glib2-version;</title>
|
||||
|
||||
<indexterm zone="glib2">
|
||||
<primary sortas="a-GLib2">GLib2</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to GLib</title>
|
||||
|
||||
<para>
|
||||
The <application>GLib</application> package contains low-level
|
||||
libraries useful for providing data structure handling for C, portability
|
||||
wrappers and interfaces for runtime functionality such as an
|
||||
event loop, threads, dynamic loading and an object system.
|
||||
</para>
|
||||
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&glib2-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&glib2-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
<emphasis role="strong">Patch for Log Level Selection (Optional)</emphasis>
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Optional patch:
|
||||
<ulink url="&patch-root;/glib-skip_warnings-1.patch"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">GLib Dependencies</bridgehead>
|
||||
<!--
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required">
|
||||
<xref linkend='packaging'/>
|
||||
</para>
|
||||
-->
|
||||
|
||||
<bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
|
||||
<para role="recommended">
|
||||
<xref role="runtime" linkend="shared-mime-info"/> and
|
||||
<xref role="runtime" linkend="desktop-file-utils"/>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of GLib</title>
|
||||
|
||||
<important>
|
||||
<para>
|
||||
This installation disables building GObject Introspection support.
|
||||
After you are done with GLFS, follow the installation instructions of
|
||||
<ulink url="&blfs-svn;/general/glib2.html">GLib</ulink> and
|
||||
<ulink url="&blfs-svn;/postlfs/polkit.html">Polkit</ulink> in the
|
||||
development version of BLFS to enable that support.
|
||||
</para>
|
||||
</important>
|
||||
|
||||
<para>
|
||||
If desired, apply the optional patch. In many cases, applications that
|
||||
use this library, either directly or indirectly via other libraries.
|
||||
This patch enables the use of an environment variable,
|
||||
<envar>GLIB_LOG_LEVEL</envar>, that suppresses unwanted messages. The
|
||||
value of the variable is a digit that corresponds to:
|
||||
</para>
|
||||
|
||||
<simplelist>
|
||||
<member>1 Alert</member>
|
||||
<member>2 Critical</member>
|
||||
<member>3 Error</member>
|
||||
<member>4 Warning</member>
|
||||
<member>5 Notice</member>
|
||||
</simplelist>
|
||||
|
||||
<para>
|
||||
For instance <userinput>export GLIB_LOG_LEVEL=4</userinput> will skip
|
||||
output of Warning and Notice messages (and Info/Debug messages if they
|
||||
are turned on). If <envar>GLIB_LOG_LEVEL</envar> is not defined, normal
|
||||
message output will not be affected.
|
||||
</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../glib-skip_warnings-1.patch</userinput></screen>
|
||||
|
||||
<warning>
|
||||
<para>
|
||||
If a previous version of glib is installed, move the headers out of the
|
||||
way so that later packages do not encounter conflicts:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput remap="pre">if [ -e /usr/include/glib-2.0 ]; then
|
||||
rm -rf /usr/include/glib-2.0.old &&
|
||||
mv -vf /usr/include/glib-2.0{,.old}
|
||||
fi</userinput></screen>
|
||||
|
||||
</warning>
|
||||
|
||||
<para>
|
||||
Install <application>GLib</application> by running the following
|
||||
commands:
|
||||
</para>
|
||||
|
||||
<screen><userinput>mkdir build &&
|
||||
cd build &&
|
||||
|
||||
meson setup .. \
|
||||
--prefix=/usr \
|
||||
--buildtype=release \
|
||||
-D introspection=disabled \
|
||||
-D glib_debug=disabled \
|
||||
-D man-pages=disabled \
|
||||
-D sysprof=disabled &&
|
||||
ninja</userinput></screen>
|
||||
|
||||
<para>
|
||||
As the <systemitem class="username">root</systemitem> user,
|
||||
install this package:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>ninja install</userinput></screen>
|
||||
|
||||
<para>
|
||||
You should now install <xref linkend="desktop-file-utils"/> and
|
||||
<xref linkend="shared-mime-info"/>.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../../../xincludes/meson-buildtype-release.xml"/>
|
||||
|
||||
<para>
|
||||
<parameter>-D man-pages=disabled</parameter>: This switch causes the
|
||||
build to create and install the package man pages.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>-D glib_debug=disabled</parameter>: This switch causes the
|
||||
build to not include some expensive checks for debugging in the built
|
||||
programs and libraries.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>-D sysprof=disabled</parameter>: This switch disables the
|
||||
tracing support for sysprof. Remove this option if you want the
|
||||
tracing support. Note that if sysprof is not installed, removing
|
||||
this option will cause the build system to download a copy of sysprof
|
||||
from the Internet.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<bridgehead renderas="sect3">GLib Contents</bridgehead>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Programs</segtitle>
|
||||
<segtitle>Installed Libraries</segtitle>
|
||||
<segtitle>Installed Directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
gapplication, gdbus, gdbus-codegen,
|
||||
gi-compile-repository, gi-decompile-typelib, gi-inspect-typelib
|
||||
gio, gio-querymodules,
|
||||
glib-compile-resources, glib-compile-schemas,
|
||||
glib-genmarshal, glib-gettextize,
|
||||
glib-mkenums, gobject-query,
|
||||
gresource, gsettings,
|
||||
gtester, and gtester-report
|
||||
</seg>
|
||||
<seg>
|
||||
libgio-2.0.so,
|
||||
libgirepository-2.0.so,
|
||||
libglib-2.0.so,
|
||||
libgmodule-2.0.so,
|
||||
libgobject-2.0.so, and
|
||||
libgthread-2.0.so
|
||||
</seg>
|
||||
<seg>
|
||||
/usr/include/gio-unix-2.0,
|
||||
/usr/include/glib-2.0,
|
||||
/usr/lib/gio,
|
||||
/usr/lib/glib-2.0,
|
||||
/usr/share/glib-2.0, and
|
||||
/usr/share/doc/glib-&glib2-version; (optional)
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="gapplication">
|
||||
<term><command>gapplication</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
can be used to start applications and to send
|
||||
messages to already-running instances of other applications
|
||||
</para>
|
||||
<indexterm zone="glib2 gapplication">
|
||||
<primary sortas="b-gapplication">application</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gdbus">
|
||||
<term><command>gdbus</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a simple tool used for working with
|
||||
<application>D-Bus</application> objects
|
||||
</para>
|
||||
<indexterm zone="glib2 gdbus">
|
||||
<primary sortas="b-gdbus">gdbus</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gdbus-codegen">
|
||||
<term><command>gdbus-codegen</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to generate code and/or documentation for one or
|
||||
more <application>D-Bus</application> interfaces
|
||||
</para>
|
||||
<indexterm zone="glib2 gdbus-codegen">
|
||||
<primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gi-compile-repository">
|
||||
<term><command>gi-compile-repository</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
converts one or more GIR files into one or more typelib files
|
||||
</para>
|
||||
<indexterm zone="glib2 gi-compile-repository">
|
||||
<primary sortas="b-gi-compile-repository">gi-compile-repository</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gi-decompile-typelib">
|
||||
<term><command>gi-decompile-typelib</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a GIR decompiler that uses the repository API
|
||||
</para>
|
||||
<indexterm zone="glib2 gi-decompile-typelib">
|
||||
<primary sortas="b-gi-decompile-typelib">gi-decompile-typelib</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gi-inspect-typelib">
|
||||
<term><command>gi-inspect-typelib</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a utility that gives information about a GI typelib
|
||||
</para>
|
||||
<indexterm zone="glib2 gi-inspect-typelib">
|
||||
<primary sortas="b-gi-inspect-typelib">gi-inspect-typelib</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gio">
|
||||
<term><command>gio</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a utility that makes many <application>GIO</application>
|
||||
features available from the command line
|
||||
</para>
|
||||
<indexterm zone="glib2 gio">
|
||||
<primary sortas="b-gio">gio</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gio-querymodules">
|
||||
<term><command>gio-querymodules</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to create a <filename>giomodule.cache</filename> file in
|
||||
the listed directories. This file lists the implemented extension
|
||||
points for each module that has been found
|
||||
</para>
|
||||
<indexterm zone="glib2 gio-querymodules">
|
||||
<primary sortas="b-gio-querymodules">gio-querymodules</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="glib-compile-resources">
|
||||
<term><command>glib-compile-resources</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to read the resource description from a file and
|
||||
the files that it references to create a binary resource
|
||||
bundle that is suitable for use with the GResource API
|
||||
</para>
|
||||
<indexterm zone="glib2 glib-compile-resources">
|
||||
<primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="glib-compile-schemas">
|
||||
<term><command>glib-compile-schemas</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to compile all the GSettings XML schema files
|
||||
in a directory into a binary file with the name
|
||||
<filename>gschemas.compiled</filename> that can be used by GSettings
|
||||
</para>
|
||||
<indexterm zone="glib2 glib-compile-schemas">
|
||||
<primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="glib-genmarshal">
|
||||
<term><command>glib-genmarshal</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a C code marshaller generation utility for GLib closures
|
||||
</para>
|
||||
<indexterm zone="glib2 glib-genmarshal">
|
||||
<primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="glib-gettextize">
|
||||
<term><command>glib-gettextize</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a variant of the <application>gettext</application>
|
||||
internationalization utility
|
||||
</para>
|
||||
<indexterm zone="glib2 glib-gettextize">
|
||||
<primary sortas="b-glib-gettextize">glib-gettextize</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="glib-mkenums">
|
||||
<term><command>glib-mkenums</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a C language enum description generation utility
|
||||
</para>
|
||||
<indexterm zone="glib2 glib-mkenums">
|
||||
<primary sortas="b-glib-mkenums">glib-mkenums</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gobject-query">
|
||||
<term><command>gobject-query</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a small utility that draws a tree of types
|
||||
</para>
|
||||
<indexterm zone="glib2 gobject-query">
|
||||
<primary sortas="b-gobject-query">gobject-query</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gresource">
|
||||
<term><command>gresource</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
offers a simple command line interface to GResource
|
||||
</para>
|
||||
<indexterm zone="glib2 gresource">
|
||||
<primary sortas="b-gresource">gresource</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gsettings">
|
||||
<term><command>gsettings</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
offers a simple command line interface to GSettings
|
||||
</para>
|
||||
<indexterm zone="glib2 gsettings">
|
||||
<primary sortas="b-gsettings">gsettings</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gtester">
|
||||
<term><command>gtester</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a test running utility
|
||||
</para>
|
||||
<indexterm zone="glib2 gtester">
|
||||
<primary sortas="b-gtester">gtester</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gtester-report">
|
||||
<term><command>gtester-report</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a test report formatting utility
|
||||
</para>
|
||||
<indexterm zone="glib2 gtester-report">
|
||||
<primary sortas="b-gtester-report">gtester-report</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgio">
|
||||
<term><filename class='libraryfile'>libgio-2.0.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a library providing useful classes for general purpose I/O,
|
||||
networking, IPC, settings, and other high level application
|
||||
functionality
|
||||
</para>
|
||||
<indexterm zone="glib2 libgio">
|
||||
<primary sortas="c-libgio">libgio-2.0.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgirepository">
|
||||
<term><filename class='libraryfile'>libgirepository-2.0.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a library providing access to typelibs and introspection data
|
||||
which describes C APIs
|
||||
</para>
|
||||
<indexterm zone="glib2 libgirepository">
|
||||
<primary sortas="c-libgirepository2">libgirepository-2.0.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libglib">
|
||||
<term><filename class='libraryfile'>libglib-2.0.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a general-purpose, portable utility library, which provides
|
||||
many useful data types, macros, type conversions, string
|
||||
utilities, file utilities, a mainloop abstraction, and so on
|
||||
</para>
|
||||
<indexterm zone="glib2 libglib">
|
||||
<primary sortas="c-libglib">libglib-2.0.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgmodule">
|
||||
<term><filename class='libraryfile'>libgmodule-2.0.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
provides portable API for dynamically loading modules
|
||||
</para>
|
||||
<indexterm zone="glib2 libgmodule">
|
||||
<primary sortas="c-libgmodule">libgmodule-2.0.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgobject">
|
||||
<term><filename class='libraryfile'>libgobject-2.0.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
provides the GLib base type system and object class
|
||||
</para>
|
||||
<indexterm zone="glib2 libgobject">
|
||||
<primary sortas="c-libgobject">libgobject-2.0.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgthread">
|
||||
<term><filename class='libraryfile'>libgthread-2.0.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a skeleton library for backwards compatibility; it used to
|
||||
be the GLib thread library but the functionalities has been
|
||||
merged info <systemitem class='library'>libglib-2.0</systemitem>
|
||||
</para>
|
||||
<indexterm zone="glib2 libgthread">
|
||||
<primary sortas="c-libgthread">libgthread-2.0.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="g-ir-annotation-tool">
|
||||
<term><command>g-ir-annotation-tool</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
creates or extracts annotation data from GI typelibs
|
||||
</para>
|
||||
<indexterm zone="glib2 g-ir-annotation-tool">
|
||||
<primary sortas="b-g-ir-annotation-tool">g-ir-annotation-tool</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="g-ir-compiler">
|
||||
<term><command>g-ir-compiler</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a counterpart of <command>gi-compile-repository</command>
|
||||
for the old
|
||||
<systemitem class='library'>libgirepository-1.0</systemitem>
|
||||
API
|
||||
</para>
|
||||
<indexterm zone="glib2 g-ir-compiler">
|
||||
<primary sortas="b-g-ir-compiler">g-ir-compiler</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="g-ir-doc-tool">
|
||||
<term><command>g-ir-doc-tool</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
generates Mallard files that can be viewed with
|
||||
<command>yelp</command> or rendered to HTML with
|
||||
<command>yelp-build</command> from
|
||||
<ulink url="&gnome-download-http;/yelp-tools">yelp-tools</ulink>
|
||||
</para>
|
||||
<indexterm zone="glib2 g-ir-doc-tool">
|
||||
<primary sortas="b-g-ir-doc-tool">g-ir-doc-tool</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="g-ir-inspect">
|
||||
<term><command>g-ir-inspect</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a counterpart of <command>gi-inspect-typelib</command>
|
||||
for the old
|
||||
<systemitem class='library'>libgirepository-1.0</systemitem>
|
||||
API
|
||||
</para>
|
||||
<indexterm zone="glib2 g-ir-inspect">
|
||||
<primary sortas="b-g-ir-inspect">g-ir-inspect</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="g-ir-generate">
|
||||
<term><command>g-ir-generate</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a counterpart of <command>gi-decompile-typelib</command>
|
||||
for the old
|
||||
<systemitem class='library'>libgirepository-1.0</systemitem>
|
||||
API
|
||||
</para>
|
||||
<indexterm zone="glib2 g-ir-generate">
|
||||
<primary sortas="b-g-ir-generate">g-ir-generate</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="g-ir-scanner">
|
||||
<term><command>g-ir-scanner</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a tool which generates GIR XML files by parsing headers and
|
||||
introspecting GObject based libraries
|
||||
</para>
|
||||
<indexterm zone="glib2 g-ir-scanner">
|
||||
<primary sortas="b-g-ir-scanner">g-ir-scanner</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgirepository-1.0">
|
||||
<term><filename class='libraryfile'>libgirepository-1.0.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a counterpart of
|
||||
<systemitem class='library'>libgirepository-2.0</systemitem>
|
||||
with the old 1.0 API
|
||||
</para>
|
||||
<indexterm zone="glib2 libgirepository-1.0">
|
||||
<primary sortas="c-libgirepository1">libgirepository-1.0.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
7
shareddeps/dps/basicx/other/linux-pam-kernel.xml
Normal file
7
shareddeps/dps/basicx/other/linux-pam-kernel.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE note PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
||||
<!-- Automatically generated by kernel-config.py
|
||||
DO NOT EDIT! -->
|
||||
<screen><emphasis role='blue'>G</emphasis>eneral setup --->
|
||||
[*] <emphasis role='blue'>A</emphasis>uditing support [AUDIT]</screen>
|
517
shareddeps/dps/basicx/other/linux-pam.xml
Normal file
517
shareddeps/dps/basicx/other/linux-pam.xml
Normal file
@ -0,0 +1,517 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY linux-pam-download-http "https://github.com/linux-pam/linux-pam/releases/download/v&linux-pam-version;/Linux-PAM-&linux-pam-version;.tar.xz">
|
||||
<!ENTITY linux-pam-download-ftp " ">
|
||||
|
||||
<!ENTITY linux-pam-docs-download "https://github.com/linux-pam/linux-pam/releases/download/v&linux-pam-version;/Linux-PAM-&linux-pam-docs-version;-docs.tar.xz">
|
||||
<!--
|
||||
<!ENTITY debian-pam-docs "http://debian.securedservers.com/kernel/pub/linux/libs/pam">
|
||||
-->
|
||||
]>
|
||||
|
||||
<sect1 id="linux-pam" xreflabel="Linux-PAM-&linux-pam-version;">
|
||||
<?dbhtml filename="linux-pam.html"?>
|
||||
|
||||
|
||||
<title>Linux-PAM-&linux-pam-version;</title>
|
||||
|
||||
<indexterm zone="linux-pam">
|
||||
<primary sortas="a-Linux-PAM">Linux-PAM</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to Linux PAM</title>
|
||||
|
||||
<para>
|
||||
The <application>Linux PAM</application> package contains
|
||||
Pluggable Authentication Modules used by the local
|
||||
system administrator to control how application programs authenticate
|
||||
users.
|
||||
</para>
|
||||
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&linux-pam-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&linux-pam-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<title>Optional Documentation</title>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&linux-pam-docs-download;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="kernel" id="linux-pam-kernel">
|
||||
<title>Kernel Configuration</title>
|
||||
|
||||
<para>
|
||||
For the PAM module <filename
|
||||
class='libraryfile'>pam_loginuid.so</filename> (referred by
|
||||
the PAM configuration file <filename>system-session</filename> if
|
||||
<xref linkend='elogind'/> is built) to work,
|
||||
a kernel configuration parameter need to be set or the module will
|
||||
just do nothing:
|
||||
</para>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="linux-pam-kernel.xml"/>
|
||||
|
||||
<indexterm zone="linux-pam linux-pam-kernel">
|
||||
<primary sortas="d-linux-pam">Linux-PAM</primary>
|
||||
</indexterm>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Linux PAM</title>
|
||||
|
||||
<para>
|
||||
First, prevent the installation of an unneeded systemd file:
|
||||
</para>
|
||||
|
||||
<screen><userinput>sed -e /service_DATA/d \
|
||||
-i modules/pam_namespace/Makefile.am</userinput></screen>
|
||||
|
||||
<!-- https://github.com/linux-pam/linux-pam/issues/809 -->
|
||||
<para>
|
||||
The shipped <filename>libtool.m4</filename> file has a configuration
|
||||
inconsistent with LFS <filename class='directory'>/usr</filename>
|
||||
hierarchy. This issue would cause
|
||||
<filename class='libraryfile'>libpam_misc.so</filename> linked with
|
||||
an rpath flag which may sometimes cause troubles or even security
|
||||
issues. Regenerate the building system to fix the inconsistency:
|
||||
</para>
|
||||
|
||||
<screen><userinput>autoreconf -fi</userinput></screen>
|
||||
|
||||
<para>
|
||||
If you downloaded the documentation, unpack the tarball by issuing
|
||||
the following command.
|
||||
</para>
|
||||
|
||||
<screen><userinput>tar -xf ../Linux-PAM-&linux-pam-docs-version;-docs.tar.xz --strip-components=1</userinput></screen>
|
||||
<!--
|
||||
<para>
|
||||
If you want to regenerate the documentation yourself, fix the
|
||||
<command>configure</command> script so it will detect lynx:
|
||||
</para>
|
||||
|
||||
<screen><userinput>sed -e 's/dummy elinks/dummy lynx/' \
|
||||
-e 's/-no-numbering -no-references/-force-html -nonumbers -stdin/' \
|
||||
-i configure</userinput></screen>
|
||||
-->
|
||||
<para>
|
||||
Compile and link <application>Linux PAM</application> by
|
||||
running the following commands:
|
||||
</para>
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr \
|
||||
--sbindir=/usr/sbin \
|
||||
--sysconfdir=/etc \
|
||||
--libdir=/usr/lib \
|
||||
--enable-securedir=/usr/lib/security \
|
||||
--docdir=/usr/share/doc/Linux-PAM-&linux-pam-version; &&
|
||||
make</userinput></screen>
|
||||
|
||||
<para>
|
||||
To test the results, a suitable <filename>/etc/pam.d/other</filename>
|
||||
configuration file must exist.
|
||||
</para>
|
||||
|
||||
<caution>
|
||||
<title>Reinstallation or Upgrade of Linux PAM</title>
|
||||
<para>
|
||||
If you have a system with Linux PAM installed and working, be careful
|
||||
when modifying the files in
|
||||
<filename class="directory">/etc/pam.d</filename>, since your system
|
||||
may become totally unusable. If you want to run the tests, you do not
|
||||
need to create another <filename>/etc/pam.d/other</filename> file. The
|
||||
existing file can be used for the tests.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You should also be aware that <command>make install</command>
|
||||
overwrites the configuration files in
|
||||
<filename class="directory">/etc/security</filename> as well as
|
||||
<filename>/etc/environment</filename>. If you
|
||||
have modified those files, be sure to back them up.
|
||||
</para>
|
||||
</caution>
|
||||
|
||||
<para>
|
||||
For a first-time installation, create a configuration file by issuing the
|
||||
following commands as the <systemitem class="username">root</systemitem>
|
||||
user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>install -v -m755 -d /etc/pam.d &&
|
||||
|
||||
cat > /etc/pam.d/other << "EOF"
|
||||
<literal>auth required pam_deny.so
|
||||
account required pam_deny.so
|
||||
password required pam_deny.so
|
||||
session required pam_deny.so</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>
|
||||
Now run the tests by issuing <command>make check</command>.
|
||||
Be sure the tests produced no errors before continuing the
|
||||
installation. Note that the tests are very long.
|
||||
Redirect the output to a log file, so you can inspect it thoroughly.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For a first-time installation, remove the configuration file
|
||||
created earlier by issuing the following command as the
|
||||
<systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>rm -fv /etc/pam.d/other</userinput></screen>
|
||||
|
||||
<para>
|
||||
Now, as the <systemitem class="username">root</systemitem>
|
||||
user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>make install &&
|
||||
chmod -v 4755 /usr/sbin/unix_chkpwd</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<para>
|
||||
<parameter>--enable-securedir=/usr/lib/security</parameter>:
|
||||
This switch sets the installation location for the
|
||||
<application>PAM</application> modules.
|
||||
</para>
|
||||
<!--
|
||||
<para>
|
||||
<option>- -disable-regenerate-docu</option> : If the needed dependencies
|
||||
(<xref linkend="DocBook"/>, <xref linkend="docbook-xsl"/>, <xref
|
||||
linkend="libxslt"/>, and <xref linkend="lynx"/> or <ulink
|
||||
url="&w3m-url;">W3m</ulink>) are installed, the manual pages, and the
|
||||
html and text documentation files, are generated and installed.
|
||||
Furthermore, if <xref linkend="fop"/> is installed, the PDF
|
||||
documentation is generated and installed. Use this switch if you do not
|
||||
want to rebuild the documentation.
|
||||
</para>
|
||||
-->
|
||||
<para>
|
||||
<command>chmod -v 4755 /usr/sbin/unix_chkpwd</command>:
|
||||
The setuid bit for the <command>unix_chkpwd</command> helper program must be
|
||||
turned on, so that non-<systemitem class="username">root</systemitem>
|
||||
processes can access the shadow file.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="configuration">
|
||||
<title>Configuring Linux-PAM</title>
|
||||
|
||||
<sect3 id="pam-config">
|
||||
<title>Configuration Files</title>
|
||||
|
||||
<para>
|
||||
<filename>/etc/security/*</filename> and
|
||||
<filename>/etc/pam.d/*</filename>
|
||||
</para>
|
||||
|
||||
<indexterm zone="linux-pam pam-config">
|
||||
<primary sortas="e-etc-security">/etc/security/*</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="linux-pam pam-config">
|
||||
<primary sortas="e-etc-pam.d">/etc/pam.d/*</primary>
|
||||
</indexterm>
|
||||
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Configuration Information</title>
|
||||
|
||||
<para>
|
||||
Configuration information is placed in
|
||||
<filename class="directory">/etc/pam.d/</filename>.
|
||||
Here is a sample file:
|
||||
</para>
|
||||
|
||||
<screen><literal># Begin /etc/pam.d/other
|
||||
|
||||
auth required pam_unix.so nullok
|
||||
account required pam_unix.so
|
||||
session required pam_unix.so
|
||||
password required pam_unix.so nullok
|
||||
|
||||
# End /etc/pam.d/other</literal></screen>
|
||||
|
||||
<para>
|
||||
Now create some generic configuration files. As the
|
||||
<systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>install -vdm755 /etc/pam.d &&
|
||||
cat > /etc/pam.d/system-account << "EOF" &&
|
||||
<literal># Begin /etc/pam.d/system-account
|
||||
|
||||
account required pam_unix.so
|
||||
|
||||
# End /etc/pam.d/system-account</literal>
|
||||
EOF
|
||||
|
||||
cat > /etc/pam.d/system-auth << "EOF" &&
|
||||
<literal># Begin /etc/pam.d/system-auth
|
||||
|
||||
auth required pam_unix.so
|
||||
|
||||
# End /etc/pam.d/system-auth</literal>
|
||||
EOF
|
||||
|
||||
cat > /etc/pam.d/system-session << "EOF" &&
|
||||
<literal># Begin /etc/pam.d/system-session
|
||||
|
||||
session required pam_unix.so
|
||||
|
||||
# End /etc/pam.d/system-session</literal>
|
||||
EOF
|
||||
|
||||
cat > /etc/pam.d/system-password << "EOF"
|
||||
<literal># Begin /etc/pam.d/system-password
|
||||
|
||||
# use yescrypt hash for encryption, use shadow, and try to use any
|
||||
# previously defined authentication token (chosen password) set by any
|
||||
# prior module.
|
||||
password required pam_unix.so yescrypt shadow try_first_pass
|
||||
|
||||
# End /etc/pam.d/system-password</literal>
|
||||
EOF
|
||||
</userinput></screen>
|
||||
|
||||
<para>
|
||||
Next, add a restrictive <filename>/etc/pam.d/other</filename>
|
||||
configuration file. With this file, programs that are PAM aware will
|
||||
not run unless a configuration file specifically for that application
|
||||
exists.
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/pam.d/other << "EOF"
|
||||
<literal># Begin /etc/pam.d/other
|
||||
|
||||
auth required pam_warn.so
|
||||
auth required pam_deny.so
|
||||
account required pam_warn.so
|
||||
account required pam_deny.so
|
||||
password required pam_warn.so
|
||||
password required pam_deny.so
|
||||
session required pam_warn.so
|
||||
session required pam_deny.so
|
||||
|
||||
# End /etc/pam.d/other</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>
|
||||
The <application>PAM</application> man page (<command>man
|
||||
pam</command>) provides a good starting point to learn
|
||||
about the several fields, and allowable entries.
|
||||
<!-- not accessible 2022-09-08 -->
|
||||
<!-- it's available at a different address 2022-10-23-->
|
||||
The
|
||||
<ulink url="https://www.docs4dev.com/docs/en/linux-pam/1.1.2/reference/Linux-PAM_SAG.html">
|
||||
Linux-PAM System Administrators' Guide
|
||||
</ulink> is recommended for additional information.
|
||||
</para>
|
||||
|
||||
<important>
|
||||
<para>
|
||||
You should now reinstall the <xref linkend="shadow"/>
|
||||
package.
|
||||
</para>
|
||||
</important>
|
||||
|
||||
</sect3>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Program</segtitle>
|
||||
<segtitle>Installed Libraries</segtitle>
|
||||
<segtitle>Installed Directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
faillock, mkhomedir_helper, pam_namespace_helper,
|
||||
pam_timestamp_check, pwhistory_helper, unix_chkpwd and
|
||||
unix_update
|
||||
</seg>
|
||||
<seg>
|
||||
libpam.so, libpamc.so and libpam_misc.so
|
||||
</seg>
|
||||
<seg>
|
||||
/etc/security,
|
||||
/usr/lib/security,
|
||||
/usr/include/security and
|
||||
/usr/share/doc/Linux-PAM-&linux-pam-version;
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="faillock">
|
||||
<term><command>faillock</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
displays and modifies the authentication failure record files
|
||||
</para>
|
||||
<indexterm zone="linux-pam faillock">
|
||||
<primary sortas="b-faillock">faillock</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkhomedir_helper">
|
||||
<term><command>mkhomedir_helper</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a helper binary that creates home directories
|
||||
</para>
|
||||
<indexterm zone="linux-pam mkhomedir_helper">
|
||||
<primary sortas="b-mkhomedir_helper">mkhomedir_helper</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pam_namespace_helper">
|
||||
<term><command>pam_namespace_helper</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a helper program used to configure a private namespace for a
|
||||
user session
|
||||
</para>
|
||||
<indexterm zone="linux-pam pam_namespace_helper">
|
||||
<primary sortas="b-pam_namespace_helper">pam_namespace_helper</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pwhistory_helper">
|
||||
<term><command>pwhistory_helper</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a helper program that transfers password hashes from passwd or
|
||||
shadow to opasswd
|
||||
</para>
|
||||
<indexterm zone="linux-pam pwhistory_helper">
|
||||
<primary sortas="b-pwhistory_helper">pwhistory_helper</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<!-- Removed with the removal of the pam_tally{,2} module
|
||||
<varlistentry id="pam_tally">
|
||||
<term><command>pam_tally</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to interrogate and manipulate the login counter file.
|
||||
</para>
|
||||
<indexterm zone="linux-pam pam_tally">
|
||||
<primary sortas="b-pam_tally">pam_tally</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pam_tally2">
|
||||
<term><command>pam_tally2</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to interrogate and manipulate the login counter file, but
|
||||
does not have some limitations that <command>pam_tally</command>
|
||||
does.
|
||||
</para>
|
||||
<indexterm zone="linux-pam pam_tally2">
|
||||
<primary sortas="b-pam_tally2">pam_tally2</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
|
||||
<varlistentry id="pam_timestamp_check">
|
||||
<term><command>pam_timestamp_check</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to check if the default timestamp is valid
|
||||
</para>
|
||||
<indexterm zone="linux-pam pam_timestamp_check">
|
||||
<primary sortas="b-pam_timestamp_check">pam_timestamp_check</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="unix_chkpwd">
|
||||
<term><command>unix_chkpwd</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a helper binary that verifies the password of the current user
|
||||
</para>
|
||||
<indexterm zone="linux-pam unix_chkpwd">
|
||||
<primary sortas="b-unix_chkpwd">unix_chkpwd</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="unix_update">
|
||||
<term><command>unix_update</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is a helper binary that updates the password of a given user
|
||||
</para>
|
||||
<indexterm zone="linux-pam unix_update">
|
||||
<primary sortas="b-unix_update">unix_update</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpam">
|
||||
<term><filename class="libraryfile">libpam.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
provides the interfaces between applications and the
|
||||
PAM modules
|
||||
</para>
|
||||
<indexterm zone="linux-pam libpam">
|
||||
<primary sortas="c-libpam">libpam.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
316
shareddeps/dps/basicx/other/polkit.xml
Normal file
316
shareddeps/dps/basicx/other/polkit.xml
Normal file
@ -0,0 +1,316 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY polkit-download-http "https://github.com/polkit-org/polkit/archive/&polkit-version;/polkit-&polkit-version;.tar.gz">
|
||||
<!ENTITY polkit-download-ftp " ">
|
||||
]>
|
||||
|
||||
<sect1 id="polkit" xreflabel="Polkit-&polkit-version;">
|
||||
<?dbhtml filename="polkit.html"?>
|
||||
|
||||
|
||||
<title>Polkit-&polkit-version;</title>
|
||||
|
||||
<indexterm zone="polkit">
|
||||
<primary sortas="a-Polkit">Polkit</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to Polkit</title>
|
||||
|
||||
<para>
|
||||
<application>Polkit</application> is a toolkit for defining and handling
|
||||
authorizations. It is used for allowing unprivileged processes to
|
||||
communicate with privileged processes.
|
||||
</para>
|
||||
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&polkit-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&polkit-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<!--
|
||||
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Required patch:
|
||||
<ulink url="&patch-root;/polkit-&polkit-version;-security_fixes-1.patch"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Required patch:
|
||||
<ulink url="&patch-root;/polkit-&polkit-version;-js91-1.patch"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
-->
|
||||
|
||||
<bridgehead renderas="sect3">Polkit Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required">
|
||||
<xref linkend="duktape"/> and
|
||||
<xref linkend="glib2"/>
|
||||
</para>
|
||||
|
||||
<bridgehead renderas="sect4">Recommended</bridgehead>
|
||||
<para role="recommended">
|
||||
<xref linkend="linux-pam"/> and <xref linkend="elogind"/>
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
Since <command>elogind</command>
|
||||
uses PAM to register user sessions, it is a good idea to build
|
||||
<application>Polkit</application> with PAM support so
|
||||
<command>elogind</command>
|
||||
can track <application>Polkit</application> sessions.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<bridgehead renderas="sect4" id="polkit-agent" xreflabel="Polkit Authentication Agent">
|
||||
Optional Runtime Dependencies
|
||||
</bridgehead>
|
||||
<para role="optional">
|
||||
One polkit authentication agent for using polkit in the graphical
|
||||
environment; this will greatly depend on what desktop you are running...
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Polkit</title>
|
||||
|
||||
<para>
|
||||
There should be a dedicated user and group to take control
|
||||
of the <command>polkitd</command> daemon after it is
|
||||
started. Issue the following commands as the
|
||||
<systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>groupadd -fg 27 polkitd &&
|
||||
useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
|
||||
-g polkitd -s /bin/false polkitd</userinput></screen>
|
||||
|
||||
<para>
|
||||
First fix a build problem for sysV based systems:
|
||||
</para>
|
||||
|
||||
<screen><userinput>sed -i '/systemd_sysusers_dir/s/^/#/' meson.build</userinput></screen>
|
||||
|
||||
<para>
|
||||
Install <application>Polkit</application> by running the following
|
||||
commands:
|
||||
</para>
|
||||
|
||||
<screen><userinput>mkdir build &&
|
||||
cd build &&
|
||||
|
||||
meson setup .. \
|
||||
--prefix=/usr \
|
||||
--buildtype=release \
|
||||
-D man=false \
|
||||
-D session_tracking=elogind \
|
||||
-D introspection=false \
|
||||
-D tests=false</userinput></screen>
|
||||
|
||||
<para>
|
||||
Build the package:
|
||||
</para>
|
||||
|
||||
<screen><userinput>ninja</userinput></screen>
|
||||
|
||||
<para>
|
||||
Now, as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>ninja install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../../../xincludes/meson-buildtype-release.xml"/>
|
||||
|
||||
<para>
|
||||
<option>-D os_type=lfs</option>: Use this switch if you did not create
|
||||
the <filename>/etc/lfs-release</filename> file or distribution auto
|
||||
detection will fail and you will be unable to use
|
||||
<application>Polkit</application>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<option>-D authfw=shadow</option>: This switch enables the
|
||||
package to use the <application>Shadow</application> rather than the
|
||||
<application>Linux PAM</application> Authentication framework. Use it
|
||||
if you have not installed <application>Linux PAM</application>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<option>-D introspection=false</option>: This option disables GObject
|
||||
Introspection support as it was not enabled in <xref linkend='glib2'/>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<option>-D man=false</option>: This option disables generating and
|
||||
installing manual pages.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Programs</segtitle>
|
||||
<segtitle>Installed Libraries</segtitle>
|
||||
<segtitle>Installed Directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
pkaction, pkcheck, <!--pk-example-frobnicate,--> pkexec,
|
||||
pkttyagent, and polkitd
|
||||
</seg>
|
||||
<seg>
|
||||
libpolkit-agent-1.so and
|
||||
libpolkit-gobject-1.so
|
||||
</seg>
|
||||
<seg>
|
||||
/etc/polkit-1,
|
||||
/usr/include/polkit-1,
|
||||
/usr/lib/polkit-1,
|
||||
/usr/share/gtk-doc/html/polkit-1, and
|
||||
/usr/share/polkit-1
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="pkaction">
|
||||
<term><command>pkaction</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to obtain information about registered PolicyKit actions
|
||||
</para>
|
||||
<indexterm zone="polkit pkaction">
|
||||
<primary sortas="b-pkaction">pkaction</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pkcheck">
|
||||
<term><command>pkcheck</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to check whether a process is authorized for action
|
||||
</para>
|
||||
<indexterm zone="polkit pkcheck">
|
||||
<primary sortas="b-pkcheck">pkcheck</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<!--
|
||||
<varlistentry id="pk-example-frobnicate">
|
||||
<term><command>pk-example-frobnicate</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is an example program to test the <command>pkexec</command>
|
||||
command
|
||||
</para>
|
||||
<indexterm zone="polkit pk-example-frobnicate">
|
||||
<primary sortas="b-pk-example-frobnicate">pk-example-frobnicate</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
|
||||
<varlistentry id="pkexec">
|
||||
<term><command>pkexec</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
allows an authorized user to execute a command as another user
|
||||
</para>
|
||||
<indexterm zone="polkit pkexec">
|
||||
<primary sortas="b-pkexec">pkexec</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pkttyagent">
|
||||
<term><command>pkttyagent</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
is used to start a textual authentication agent for the subject
|
||||
</para>
|
||||
<indexterm zone="polkit pkttyagent">
|
||||
<primary sortas="b-pkttyagent">pkttyagent</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="polkitd">
|
||||
<term><command>polkitd</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
provides the org.freedesktop.PolicyKit1 <application>D-Bus</application>
|
||||
service on the system message bus
|
||||
</para>
|
||||
<indexterm zone="polkit polkitd">
|
||||
<primary sortas="b-polkitd">polkitd</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpolkit-agent-1">
|
||||
<term><filename class="libraryfile">libpolkit-agent-1.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
contains the <application>Polkit</application> authentication
|
||||
agent API functions
|
||||
</para>
|
||||
<indexterm zone="polkit libpolkit-agent-1">
|
||||
<primary sortas="c-libpolkit-agent-1">libpolkit-agent-1.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpolkit-gobject-1">
|
||||
<term><filename class="libraryfile">libpolkit-gobject-1.so</filename></term>
|
||||
<listitem>
|
||||
<para>
|
||||
contains the <application>Polkit</application> authorization API functions
|
||||
</para>
|
||||
<indexterm zone="polkit libpolkit-gobject-1">
|
||||
<primary sortas="c-libpolkit-gobject-1">libpolkit-gobject-1.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
575
shareddeps/dps/basicx/other/shadow.xml
Normal file
575
shareddeps/dps/basicx/other/shadow.xml
Normal file
@ -0,0 +1,575 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY shadow-download-http "https://github.com/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
|
||||
<!ENTITY shadow-download-ftp " ">
|
||||
]>
|
||||
|
||||
<sect1 id="shadow" xreflabel="Shadow-&shadow-version;">
|
||||
<?dbhtml filename="shadow.html"?>
|
||||
|
||||
|
||||
<title>Shadow-&shadow-version;</title>
|
||||
|
||||
<indexterm zone="shadow">
|
||||
<primary sortas="a-Shadow">Shadow</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to Shadow</title>
|
||||
|
||||
<para>
|
||||
<application>Shadow</application> was indeed installed in LFS and there is
|
||||
no reason to reinstall it unless you installed
|
||||
<application>Linux-PAM</application> after your LFS system was completed.
|
||||
If you have installed <application>Linux-PAM</application>,
|
||||
reinstalling <application>Shadow</application> will allow programs such as
|
||||
<command>login</command> and <command>su</command> to utilize PAM.
|
||||
</para>
|
||||
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&shadow-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&shadow-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<!--
|
||||
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Required patch:
|
||||
<ulink url="&patch-root;/shadow-&shadow-version;-useradd_segfault-1.patch"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
-->
|
||||
<bridgehead renderas="sect3">Shadow Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required">
|
||||
<xref linkend="linux-pam"/>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Shadow</title>
|
||||
|
||||
<important>
|
||||
<para>
|
||||
The installation commands shown below are for installations where
|
||||
<application>Linux-PAM</application> has been installed and
|
||||
<application>Shadow</application> is being reinstalled to support the
|
||||
<application>Linux-PAM</application> installation.
|
||||
</para>
|
||||
</important>
|
||||
|
||||
<warning>
|
||||
<para>
|
||||
If reinstalling shadow for a version update, be sure to
|
||||
reaccomplish the Linux-PAM configuration below. The installation
|
||||
of shadow overwrites many of the files in
|
||||
<filename class="directory">/etc/pam.d/</filename>.
|
||||
</para>
|
||||
</warning>
|
||||
|
||||
<para>
|
||||
Reinstall <application>Shadow</application> by running the following
|
||||
commands:
|
||||
</para>
|
||||
<!--
|
||||
<screen><userinput>patch -Np1 -i ../shadow-4.10-useradd_segfault-1.patch &&
|
||||
-->
|
||||
<screen><userinput>sed -i 's/groups$(EXEEXT) //' src/Makefile.in &&
|
||||
|
||||
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; &&
|
||||
find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; &&
|
||||
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; &&
|
||||
|
||||
sed -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD YESCRYPT@' \
|
||||
-e 's@/var/spool/mail@/var/mail@' \
|
||||
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
|
||||
-i etc/login.defs &&
|
||||
|
||||
./configure --sysconfdir=/etc \
|
||||
--disable-static \
|
||||
--without-libbsd \
|
||||
--with-{b,yes}crypt &&<!--
|
||||
This is the default: - -with-group-name-max-length=32 &&-->
|
||||
make</userinput></screen>
|
||||
|
||||
<para>
|
||||
This package does not come with a test suite.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Now, as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>make exec_prefix=/usr pamddir= install</userinput></screen>
|
||||
|
||||
<para>
|
||||
The man pages were installed in LFS, but if reinstallation is
|
||||
desired, run (as the <systemitem class="username">root</systemitem> user):
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>make -C man install-man</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<para>
|
||||
<command>sed -i 's/groups$(EXEEXT) //' src/Makefile.in</command>: This sed
|
||||
is used to suppress the installation of the <command>groups</command>
|
||||
program as the version from the <application>Coreutils</application>
|
||||
package installed during LFS is preferred.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>find man -name Makefile.in -exec ... {} \;</command>: The
|
||||
first command is used to suppress the installation of the
|
||||
<command>groups</command> man pages so the existing ones installed from
|
||||
the <application>Coreutils</application> package are not replaced.
|
||||
The two other commands prevent installation of manual pages that
|
||||
are already installed by <application>Man-pages</application> in LFS.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<command>sed -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD YESCRYPT@' -e
|
||||
's@/var/spool/mail@/var/mail@' -e '/PATH=/{s@/sbin:@@;s@/bin:@@}'
|
||||
-i etc/login.defs</command>: Instead of using the default 'DES'
|
||||
method, this command modifies the installation to use the much more
|
||||
secure 'YESCRYPT' method of hashing passwords, which also allows
|
||||
passwords longer than eight characters. The command also changes the
|
||||
obsolete <filename class="directory">/var/spool/mail</filename> location
|
||||
for user mailboxes that <application>Shadow</application> uses by
|
||||
default to the <filename class="directory">/var/mail</filename>
|
||||
location. It also changes the default path to be consistent with that
|
||||
set in LFS.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>--without-libbsd</parameter>: Prevents looking for the
|
||||
<command>readpassphrase</command> function, which can be found only in
|
||||
<filename class="libraryfile">libbsd</filename>, which is not in GLFS.
|
||||
An internal implementation of <command>readpassphrase</command> is used
|
||||
instead.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<parameter>pamddir=</parameter>: Prevents installation of the shipped
|
||||
PAM configuration files into
|
||||
<filename class='directory'>/etc/pam.d</filename>. The shipped
|
||||
configuration does not work with the BLFS PAM configuration and we
|
||||
will create these configuration files explicitly.
|
||||
</para>
|
||||
|
||||
<!-- This is the default
|
||||
<para>
|
||||
<parameter>-\-with-group-name-max-length=32</parameter>: The maximum
|
||||
user name is 32 characters. Make the maximum group name the same.
|
||||
</para>
|
||||
-->
|
||||
<!--
|
||||
<para>
|
||||
<parameter>-\-without-su</parameter>: Don't reinstall
|
||||
<command>su</command> because upstream recommends using the
|
||||
<command>su</command> command from <xref linkend='util-linux'/>
|
||||
when <application>Linux-PAM</application> is available.
|
||||
</para>
|
||||
-->
|
||||
</sect2>
|
||||
|
||||
<!-- Now, /etc/default/useradd is not reinstalled anymore, and this
|
||||
configuration has been done in lfs
|
||||
<sect2 role="configuration">
|
||||
<title>Configuring Shadow</title>
|
||||
|
||||
<para>
|
||||
<application>Shadow</application>'s stock configuration for the
|
||||
<command>useradd</command> utility may not be desirable for your
|
||||
installation. One default parameter causes <command>useradd</command> to
|
||||
create a mailbox file for any newly created user.
|
||||
<command>useradd</command> will make the group ownership of this file to
|
||||
the <systemitem class="groupname">mail</systemitem> group with 0660
|
||||
permissions. If you would prefer that these mailbox files are not created
|
||||
by <command>useradd</command>, issue the following command as the
|
||||
<systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>sed -i 's/yes/no/' /etc/default/useradd</userinput></screen>
|
||||
</sect2>
|
||||
-->
|
||||
<sect2 role="configuration">
|
||||
<title>Configuring Linux-PAM to Work with Shadow</title>
|
||||
|
||||
<sect3 id="pam.d">
|
||||
<title>Config Files</title>
|
||||
|
||||
<para>
|
||||
<filename>/etc/pam.d/*</filename> or alternatively
|
||||
<filename>/etc/pam.conf</filename>,
|
||||
<filename>/etc/login.defs</filename> and
|
||||
<filename>/etc/security/*</filename>
|
||||
</para>
|
||||
|
||||
<indexterm zone="shadow pam.d">
|
||||
<primary sortas="e-etc-pam.d">/etc/pam.d/*</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="shadow pam.d">
|
||||
<primary sortas="e-etc-pam.conf">/etc/pam.conf</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="shadow pam.d">
|
||||
<primary sortas="e-etc-login.defs">/etc/login.defs</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="shadow pam.d">
|
||||
<primary sortas="e-etc-security">/etc/security/*</primary>
|
||||
</indexterm>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Configuration Information</title>
|
||||
|
||||
<para>
|
||||
Configuring your system to use <application>Linux-PAM</application> can
|
||||
be a complex task. The information below will provide a basic setup so
|
||||
that <application>Shadow</application>'s login and password
|
||||
functionality will work effectively with
|
||||
<application>Linux-PAM</application>. Review the information and links
|
||||
on the <xref linkend="linux-pam"/> page for further configuration
|
||||
information. For information specific to integrating
|
||||
<application>Shadow</application>, <application>Linux-PAM</application>
|
||||
and <application>libpwquality</application>, you can visit the
|
||||
following link:
|
||||
</para>
|
||||
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<!-- Old URL redirects to here. -->
|
||||
<para>
|
||||
<ulink url="https://deer-run.com/users/hal/linux_passwords_pam.html"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<sect4 id="pam-login-defs">
|
||||
<title>Configuring /etc/login.defs</title>
|
||||
|
||||
<para>
|
||||
The <command>login</command> program currently performs many functions
|
||||
which <application>Linux-PAM</application> modules should now handle.
|
||||
The following <command>sed</command> command will comment out the
|
||||
appropriate lines in <filename>/etc/login.defs</filename>, and stop
|
||||
<command>login</command> from performing these functions (a backup
|
||||
file named <filename>/etc/login.defs.orig</filename> is also created
|
||||
to preserve the original file's contents). Issue the following
|
||||
commands as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<indexterm zone="shadow pam-login-defs">
|
||||
<primary sortas="e-etc-login.defs">/etc/login.defs</primary>
|
||||
</indexterm>
|
||||
|
||||
<screen role="root"><userinput>install -v -m644 /etc/login.defs /etc/login.defs.orig &&
|
||||
for FUNCTION in FAIL_DELAY \
|
||||
FAILLOG_ENAB \
|
||||
LASTLOG_ENAB \
|
||||
MAIL_CHECK_ENAB \
|
||||
OBSCURE_CHECKS_ENAB \
|
||||
PORTTIME_CHECKS_ENAB \
|
||||
QUOTAS_ENAB \
|
||||
CONSOLE MOTD_FILE \
|
||||
FTMP_FILE NOLOGINS_FILE \
|
||||
ENV_HZ PASS_MIN_LEN \
|
||||
SU_WHEEL_ONLY \
|
||||
CRACKLIB_DICTPATH \
|
||||
PASS_CHANGE_TRIES \
|
||||
PASS_ALWAYS_WARN \
|
||||
CHFN_AUTH ENCRYPT_METHOD \
|
||||
ENVIRON_FILE
|
||||
do
|
||||
sed -i "s/^${FUNCTION}/# &/" /etc/login.defs
|
||||
done</userinput></screen>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>Configuring the /etc/pam.d/ Files</title>
|
||||
|
||||
<para>
|
||||
As mentioned previously in the <application>Linux-PAM</application>
|
||||
instructions, <application>Linux-PAM</application> has two supported
|
||||
methods for configuration. The commands below assume that you've
|
||||
chosen to use a directory based configuration, where each program has
|
||||
its own configuration file. You can optionally use a single
|
||||
<filename>/etc/pam.conf</filename> configuration file by using the
|
||||
text from the files below, and supplying the program name as an
|
||||
additional first field for each line.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
As the <systemitem class="username">root</systemitem> user, create
|
||||
the following <application>Linux-PAM</application> configuration files
|
||||
in the <filename class="directory">/etc/pam.d/</filename> directory
|
||||
(or add the contents to the <filename>/etc/pam.conf</filename> file)
|
||||
using the following commands:
|
||||
</para>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>'login'</title>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/pam.d/login << "EOF"
|
||||
<literal># Begin /etc/pam.d/login
|
||||
|
||||
# Set failure delay before next prompt to 3 seconds
|
||||
auth optional pam_faildelay.so delay=3000000
|
||||
|
||||
# Check to make sure that the user is allowed to login
|
||||
auth requisite pam_nologin.so
|
||||
|
||||
# Check to make sure that root is allowed to login
|
||||
# Disabled by default. You will need to create /etc/securetty
|
||||
# file for this module to function. See man 5 securetty.
|
||||
#auth required pam_securetty.so
|
||||
|
||||
# Additional group memberships - disabled by default
|
||||
#auth optional pam_group.so
|
||||
|
||||
# include system auth settings
|
||||
auth include system-auth
|
||||
|
||||
# check access for the user
|
||||
account required pam_access.so
|
||||
|
||||
# include system account settings
|
||||
account include system-account
|
||||
|
||||
# Set default environment variables for the user
|
||||
session required pam_env.so
|
||||
|
||||
# Set resource limits for the user
|
||||
session required pam_limits.so
|
||||
|
||||
# Display the message of the day - Disabled by default
|
||||
#session optional pam_motd.so
|
||||
|
||||
# Check user's mail - Disabled by default
|
||||
#session optional pam_mail.so standard quiet
|
||||
|
||||
# include system session and password settings
|
||||
session include system-session
|
||||
password include system-password
|
||||
|
||||
# End /etc/pam.d/login</literal>
|
||||
EOF</userinput></screen>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>'passwd'</title>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/pam.d/passwd << "EOF"
|
||||
<literal># Begin /etc/pam.d/passwd
|
||||
|
||||
password include system-password
|
||||
|
||||
# End /etc/pam.d/passwd</literal>
|
||||
EOF</userinput></screen>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>'su'</title>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/pam.d/su << "EOF"
|
||||
<literal># Begin /etc/pam.d/su
|
||||
|
||||
# always allow root
|
||||
auth sufficient pam_rootok.so
|
||||
|
||||
# Allow users in the wheel group to execute su without a password
|
||||
# disabled by default
|
||||
#auth sufficient pam_wheel.so trust use_uid
|
||||
|
||||
# include system auth settings
|
||||
auth include system-auth
|
||||
|
||||
# limit su to users in the wheel group
|
||||
# disabled by default
|
||||
#auth required pam_wheel.so use_uid
|
||||
|
||||
# include system account settings
|
||||
account include system-account
|
||||
|
||||
# Set default environment variables for the service user
|
||||
session required pam_env.so
|
||||
|
||||
# include system session settings
|
||||
session include system-session
|
||||
|
||||
# End /etc/pam.d/su</literal>
|
||||
EOF</userinput></screen>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>'chpasswd' and 'newusers'</title>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/pam.d/chpasswd << "EOF"
|
||||
<literal># Begin /etc/pam.d/chpasswd
|
||||
|
||||
# always allow root
|
||||
auth sufficient pam_rootok.so
|
||||
|
||||
# include system auth and account settings
|
||||
auth include system-auth
|
||||
account include system-account
|
||||
password include system-password
|
||||
|
||||
# End /etc/pam.d/chpasswd</literal>
|
||||
EOF
|
||||
|
||||
sed -e s/chpasswd/newusers/ /etc/pam.d/chpasswd >/etc/pam.d/newusers</userinput></screen>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>'chage'</title>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/pam.d/chage << "EOF"
|
||||
<literal># Begin /etc/pam.d/chage
|
||||
|
||||
# always allow root
|
||||
auth sufficient pam_rootok.so
|
||||
|
||||
# include system auth and account settings
|
||||
auth include system-auth
|
||||
account include system-account
|
||||
|
||||
# End /etc/pam.d/chage</literal>
|
||||
EOF</userinput></screen>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>Other shadow utilities</title>
|
||||
|
||||
<screen role="root"><userinput>for PROGRAM in chfn chgpasswd chsh groupadd groupdel \
|
||||
groupmems groupmod useradd userdel usermod
|
||||
do
|
||||
install -v -m644 /etc/pam.d/chage /etc/pam.d/${PROGRAM}
|
||||
sed -i "s/chage/$PROGRAM/" /etc/pam.d/${PROGRAM}
|
||||
done</userinput></screen>
|
||||
|
||||
<warning>
|
||||
<para>
|
||||
At this point, you should do a simple test to see if
|
||||
<application>Shadow</application> is working as expected. Open
|
||||
another terminal and log in as
|
||||
<systemitem class="username">root</systemitem>, and then run
|
||||
<command>login</command> and login as another user. If you do
|
||||
not see any errors, then all is well and you should proceed with
|
||||
the rest of the configuration. If you did receive errors, stop
|
||||
now and double check the above configuration files manually.
|
||||
Any error is the sign of an error in the above procedure.
|
||||
You can also run the
|
||||
test suite from the <application>Linux-PAM</application> package
|
||||
to assist you in determining the problem. If you cannot find and
|
||||
fix the error, you should recompile
|
||||
<application>Shadow</application> adding the
|
||||
<option>--without-libpam</option> switch to the
|
||||
<command>configure</command> command in the above instructions
|
||||
(also move the <filename>/etc/login.defs.orig</filename> backup
|
||||
file to <filename>/etc/login.defs</filename>). If you fail to do
|
||||
this and the errors remain, you will be unable to log into your
|
||||
system.
|
||||
</para>
|
||||
</warning>
|
||||
</sect4>
|
||||
|
||||
<sect4 id="pam-access">
|
||||
<title>Configuring Login Access</title>
|
||||
|
||||
<para>
|
||||
Instead of using the <filename>/etc/login.access</filename> file for
|
||||
controlling access to the system, <application>Linux-PAM</application>
|
||||
uses the <filename class='libraryfile'>pam_access.so</filename> module
|
||||
along with the <filename>/etc/security/access.conf</filename> file.
|
||||
Rename the <filename>/etc/login.access</filename> file using the
|
||||
following command:
|
||||
</para>
|
||||
|
||||
<indexterm zone="shadow pam-access">
|
||||
<primary sortas="e-etc-security-access.conf">/etc/security/access.conf</primary>
|
||||
</indexterm>
|
||||
<!-- to editors: it is a common belief that:
|
||||
if <condition>; then <command>; fi
|
||||
is equivalent to:
|
||||
<condition> && <command>
|
||||
This is not true in bash; try:
|
||||
([ 0 = 1 ] && echo not reachable); echo $? # echoes 1
|
||||
vs
|
||||
(if [ 0 = 1 ]; then echo not reachable; fi); echo $? # echoes 0
|
||||
So in scripts that may call subshells (for example through sudo) and
|
||||
that need error reporting, the outcome _is_ different. In all
|
||||
cases, for bash, the "if" form should be preferred.-->
|
||||
<screen role="root"><userinput>if [ -f /etc/login.access ]; then mv -v /etc/login.access{,.NOUSE}; fi</userinput></screen>
|
||||
</sect4>
|
||||
|
||||
<sect4 id="pam-limits">
|
||||
<title>Configuring Resource Limits</title>
|
||||
|
||||
<para>
|
||||
Instead of using the <filename>/etc/limits</filename> file for
|
||||
limiting usage of system resources,
|
||||
<application>Linux-PAM</application> uses the
|
||||
<filename class='libraryfile'>pam_limits.so</filename> module along
|
||||
with the <filename>/etc/security/limits.conf</filename> file. Rename
|
||||
the <filename>/etc/limits</filename> file using the following command:
|
||||
</para>
|
||||
|
||||
<indexterm zone="shadow pam-limits">
|
||||
<primary sortas="e-etc-security-limits.conf">/etc/security/limits.conf</primary>
|
||||
</indexterm>
|
||||
|
||||
<screen role="root"><userinput>if [ -f /etc/limits ]; then mv -v /etc/limits{,.NOUSE}; fi</userinput></screen>
|
||||
|
||||
<caution>
|
||||
<para>
|
||||
Be sure to test the login capabilities of the system before logging
|
||||
out. Errors in the configuration can cause a permanent
|
||||
lockout requiring a boot from an external source to correct the
|
||||
problem.
|
||||
</para>
|
||||
</caution>
|
||||
|
||||
</sect4>
|
||||
</sect3>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<para>
|
||||
A list of the installed files, along with their short descriptions can be
|
||||
found at
|
||||
<ulink url="&lfs-root;/chapter08/shadow.html#contents-shadow"/>.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
166
shareddeps/dps/basicx/other/shared-mime-info.xml
Normal file
166
shareddeps/dps/basicx/other/shared-mime-info.xml
Normal file
@ -0,0 +1,166 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
|
||||
%general-entities;
|
||||
|
||||
<!ENTITY shared-mime-info-download-http
|
||||
"https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/&shared-mime-info-version;/shared-mime-info-&shared-mime-info-version;.tar.gz">
|
||||
<!ENTITY shared-mime-info-download-ftp " ">
|
||||
<!ENTITY xdgmime-download-http "&sources-anduin-http;/xdgmime/xdgmime.tar.xz">
|
||||
]>
|
||||
|
||||
<sect1 id="shared-mime-info"
|
||||
xreflabel="shared-mime-info-&shared-mime-info-version;">
|
||||
<?dbhtml filename="shared-mime-info.html" ?>
|
||||
|
||||
|
||||
<title>shared-mime-info-&shared-mime-info-version;</title>
|
||||
|
||||
<indexterm zone="shared-mime-info">
|
||||
<primary sortas="a-shared-mime-info">shared-mime-info</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title>Introduction to Shared Mime Info</title>
|
||||
|
||||
<para>
|
||||
The <application>Shared Mime Info</application> package contains a
|
||||
MIME database. This allows central updates of MIME information for all
|
||||
supporting applications.
|
||||
</para>
|
||||
|
||||
&lfs121_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Download (HTTP): <ulink url="&shared-mime-info-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Download (FTP): <ulink url="&shared-mime-info-download-ftp;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Optional download, required to run the test suite:
|
||||
<ulink url="&xdgmime-download-http;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Shared Mime Info Dependencies</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect4">Required</bridgehead>
|
||||
<para role="required">
|
||||
<xref linkend="glib2"/> and
|
||||
<xref linkend="libxml2"/>
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Shared Mime Info</title>
|
||||
|
||||
<para>
|
||||
Install <application>Shared Mime Info</application> by running the
|
||||
following commands:
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you wish to run the test suite, you must first extract the
|
||||
<filename>xdgmime</filename> tarball into the current directory,
|
||||
and compile it so that <command>meson</command> can find it:
|
||||
</para>
|
||||
|
||||
<screen remap="test"><userinput>tar -xf ../xdgmime.tar.xz &&
|
||||
make -C xdgmime</userinput></screen>
|
||||
|
||||
<para>
|
||||
Now build the package:
|
||||
</para>
|
||||
|
||||
<screen><userinput>mkdir build &&
|
||||
cd build &&
|
||||
|
||||
meson setup --prefix=/usr --buildtype=release -D update-mimedb=true .. &&
|
||||
ninja</userinput></screen>
|
||||
|
||||
<para role="optional">
|
||||
If you have followed the instructions above to build
|
||||
<application>xdgmime</application>, to test the result issue
|
||||
<command>ninja test</command>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Now, as the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>ninja install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="commands">
|
||||
<title>Command Explanations</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../../../../xincludes/meson-buildtype-release.xml"/>
|
||||
|
||||
<para>
|
||||
<parameter>-D update-mimedb=true</parameter>: This parameter tells
|
||||
the build system to run <command>update-mime-database</command> during
|
||||
installation. Otherwise, this must be done manually in order to be
|
||||
able to use the MIME database.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title>Contents</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed Program</segtitle>
|
||||
<segtitle>Installed Library</segtitle>
|
||||
<segtitle>Installed Directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>
|
||||
update-mime-database
|
||||
</seg>
|
||||
<seg>
|
||||
None
|
||||
</seg>
|
||||
<seg>
|
||||
/usr/share/mime
|
||||
</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="update-mime-database">
|
||||
<term><command>update-mime-database</command></term>
|
||||
<listitem>
|
||||
<para>
|
||||
assists in adding MIME data to the database
|
||||
</para>
|
||||
<indexterm zone="shared-mime-info update-mime-database">
|
||||
<primary sortas="b-update-mime-database">update-mime-database</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
@ -46,14 +46,8 @@
|
||||
|
||||
<bridgehead renderas="sect4">Recommended</bridgehead>
|
||||
<para role="recommended">
|
||||
<ulink url="&blfs-svn;/general/elogind.html">elogind</ulink>
|
||||
(this package needs a backend to properly create a seat,
|
||||
<application>elogind</application> being a suitable one.
|
||||
<application>elogind</application> is not in this book due to the amount
|
||||
of transient dependencies, however. First compile this package without
|
||||
the backend support, then when you get to <xref linkend="whatnow"/>,
|
||||
compile <application>elogind</application> and recompile this package
|
||||
afterwards)
|
||||
<xref linkend="elogind"/> (this package needs a backend to properly
|
||||
create a seat, <application>elogind</application> being a suitable one)
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
@ -76,17 +76,13 @@
|
||||
<bridgehead renderas="sect4">Recommended</bridgehead>
|
||||
<para role="recommended">
|
||||
<xref linkend='dbus'/>,
|
||||
<ulink role="runtime" url="&blfs-svn;/general/elogind.html">
|
||||
elogind</ulink> (runtime;
|
||||
<xref role="runtime" linkend="elogind"/> (runtime;
|
||||
<systemitem class='library'>libelogind</systemitem> also referred
|
||||
at build time but it's not really useful),
|
||||
<xref linkend="libepoxy"/> (needed for glamor),
|
||||
and <xref role='runtime' linkend='xorg-libinput-driver'/> (runtime)
|
||||
</para>
|
||||
|
||||
<!-- TODO: Add -Dsystemd_logind=yes explicitly (like -Dglamor=true) to
|
||||
make this more clear for BLFS 12.2. Now (Feb 16 2024) this package
|
||||
is already under 12.1 freeze. -->
|
||||
<note>
|
||||
<para>
|
||||
If you don't want to install the recommended dependency elogind,
|
||||
|
@ -70,6 +70,14 @@
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/pixman.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/icu.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/libxml2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/linux-pam.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/shadow.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/elogind.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/duktape.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/glib2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/shared-mime-info.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/desktop-file-utils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/polkit.xml"/>
|
||||
|
||||
<!-- WAYLAND -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/wl/wldummy.xml"/>
|
||||
|
Loading…
Reference in New Issue
Block a user