mirror of
https://github.com/glfs-book/glfs.git
synced 2025-07-22 01:12:59 +00:00

We don't use FTP links, so this commit removes them. As a result, specifying links as HTTP doesn't make sense. If ENTITIES are empty, they should probably be removed.
292 lines
12 KiB
Plaintext
292 lines
12 KiB
Plaintext
<!-- Automatically generated by git-version.sh. -->
|
|
<!ENTITY % conditional-entities SYSTEM "conditional.ent">
|
|
%conditional-entities;
|
|
|
|
<!ENTITY xlfs-version "12.3">
|
|
<!ENTITY % relnum "&xlfs-version;">
|
|
|
|
<![ %development; [
|
|
<!-- version info automatically generated by git -->
|
|
<!ENTITY % version-entities SYSTEM "version.ent">
|
|
%version-entities;
|
|
<![ %sysv; [
|
|
<!ENTITY lfs-version "development">
|
|
<!ENTITY blfs-version "svn">
|
|
<!ENTITY patch-version "svn">
|
|
]]>
|
|
<![ %systemd; [
|
|
<!ENTITY lfs-version "systemd">
|
|
<!ENTITY blfs-version "systemd">
|
|
<!ENTITY patch-version "svn">
|
|
]]>
|
|
]]><!-- End %development -->
|
|
|
|
<!ENTITY mlfs-stable "24cf3b5be96b69ccbfd0fcfe536ad263fdb24502">
|
|
<!ENTITY mlfs-extra-commits "b138633c16ebfb181e7621e276e8196c73c024a9">
|
|
<![ %release; [
|
|
<!ENTITY version "%relnum;">
|
|
<![ %sysv; [
|
|
<!ENTITY lfs-version "&xlfs-version;">
|
|
<!ENTITY blfs-version "&xlfs-version;">
|
|
<!ENTITY patch-version "&xlfs-version;">
|
|
]]>
|
|
<![ %systemd; [
|
|
<!ENTITY lfs-version "&xlfs-version;-systemd">
|
|
<!ENTITY blfs-version "&xlfs-version;-systemd">
|
|
<!ENTITY patch-version "&xlfs-version;">
|
|
]]>
|
|
]]><!-- End %release -->
|
|
|
|
<!ENTITY copyrightdate "2024-&year;">
|
|
<!ENTITY copyholder "The GLFS Development Team">
|
|
<!ENTITY lfs-domainname "linuxfromscratch.org">
|
|
<!ENTITY glfs-domainname "glfs-book.github.io">
|
|
|
|
<!ENTITY maintainer-fullname "The GLFS Team">
|
|
<!ENTITY maintainer-firstname "GLFS">
|
|
<!ENTITY maintainer-address "zeckma.tech@gmail.com;">
|
|
|
|
<!ENTITY lfs-website "https://www.&lfs-domainname;">
|
|
<!ENTITY glfs-website "https://&glfs-domainname;/glfs">
|
|
<!ENTITY slfs-website "https://&glfs-domainname;/slfs">
|
|
<!-- downloads_root must have an entity because it is needed for scripts
|
|
Note: s/_/-/ in comment to avoid grep error
|
|
It is also needed for systemd units
|
|
-->
|
|
<!ENTITY downloads-root "&lfs-website;/blfs/downloads/&blfs-version;">
|
|
<!--<!ENTITY downloads-root-systemd "https://www.linuxfromscratch.org/blfs/downloads/systemd">
|
|
<!ENTITY downloads-project "https://downloads.&lfs-domainname;">-->
|
|
|
|
<!ENTITY sources-anduin-http "https://anduin.linuxfromscratch.org/BLFS">
|
|
<!ENTITY sources-anduin-ftp "ftp://anduin.linuxfromscratch.org/BLFS">
|
|
|
|
<!ENTITY hints-root "https://www.&lfs-domainname;/hints">
|
|
<!ENTITY patch-downloads "https://www.linuxfromscratch.org/patches/downloads">
|
|
<!ENTITY dl-root "&glfs-website;/download">
|
|
<!ENTITY misc-dl-root "https://github.com/glfs-book/glfs-misc-downloads/releases/download">
|
|
<!ENTITY errata "https://www.&lfs-domainname;/blfs/errata/&blfs-version;/">
|
|
<!ENTITY blfs-ticket-root "https://wiki.&lfs-domainname;/blfs/ticket/">
|
|
<!ENTITY lfs-root "&lfs-website;/lfs/view/&lfs-version;">
|
|
|
|
<!ENTITY mlfs-base "&lfs-website;/~thomas/multilib">
|
|
<![ %sysv; [
|
|
<!ENTITY mlfs-root "&mlfs-base;">
|
|
<!ENTITY lfs-filename "lfs-book">
|
|
]]>
|
|
<![ %systemd; [
|
|
<!ENTITY mlfs-root "&mlfs-base;-systemd">
|
|
<!ENTITY lfs-filename "lfs-systemd">
|
|
]]>
|
|
<!ENTITY mlfs-m32-root "&mlfs-root;-m32">
|
|
|
|
<!ENTITY lfs-dev "&lfs-website;/lfs/view/development">
|
|
<!ENTITY lfs-ticket-root "https://wiki.&lfs-domainname;/lfs/ticket/">
|
|
<!ENTITY gnu-http "https://ftp.gnu.org/gnu">
|
|
<!ENTITY gnu-ftp "ftp://ftp.gnu.org/gnu">
|
|
<!ENTITY gnupg-http "https://www.gnupg.org/ftp/gcrypt">
|
|
<!ENTITY gnupg-ftp "ftp://ftp.gnupg.org/gcrypt">
|
|
<!ENTITY gstreamer-dl "https://gstreamer.freedesktop.org/src">
|
|
<!ENTITY kernel-dl "https://www.kernel.org/pub">
|
|
<!ENTITY mozilla-http "https://archive.mozilla.org/pub">
|
|
<!ENTITY mozilla-hg "https://hg.mozilla.org/releases/mozilla-release/archive/">
|
|
<!ENTITY perl_authors "https://www.cpan.org/authors">
|
|
<!ENTITY metacpan_authors "https://cpan.metacpan.org/authors/id">
|
|
<!ENTITY pymodules-dl "https://files.pythonhosted.org/packages/source">
|
|
<!ENTITY sourceforge-dl "https://downloads.sourceforge.net">
|
|
|
|
<!ENTITY fedora-http-repo "http://pkgs.fedoraproject.org/repo/pkgs">
|
|
<!ENTITY jaist-ftp-repo "ftp://ftp.jaist.ac.jp/pub//sourceforge">
|
|
<!ENTITY lxqt-http-repo "http://downloads.lxqt.org/lxqt">
|
|
<!ENTITY publisher "Unknown">
|
|
<!ENTITY xorg-dl "https://xorg.freedesktop.org/archive/individual">
|
|
<!ENTITY pypi "https://pypi.python.org/pypi">
|
|
<!ENTITY appstream-glib-url "http://people.freedesktop.org/~hughsient/appstream-glib/releases">
|
|
<!ENTITY elinks-url "http://elinks.or.cz">
|
|
<!ENTITY w3m-url "http://w3m.sourceforge.net/">
|
|
<!ENTITY sysprof-url "https://wiki.gnome.org/Apps/Sysprof">
|
|
<!ENTITY man "https://man.archlinux.org/man/">
|
|
|
|
<!ENTITY glfs-repo "https://github.com/glfs-book/glfs">
|
|
<!ENTITY glfs-issues "&glfs-repo;/issues">
|
|
<!ENTITY glfs-pull "&glfs-repo;/pull">
|
|
|
|
<!-- Convenience entities -->
|
|
<!ENTITY root "<systemitem class='username'>root</systemitem>">
|
|
<!ENTITY gi-docgen-url "https://gnome.pages.gitlab.gnome.org/gi-docgen/">
|
|
|
|
<!ENTITY blfs-bootscripts-version "20240209">
|
|
<!ENTITY systemd-units-version "20240205">
|
|
|
|
<!ENTITY blfs-wiki "https://wiki.&lfs-domainname;/blfs/wiki">
|
|
<!ENTITY blfs-svn "&lfs-website;/blfs/view/&blfs-version;">
|
|
|
|
<![ %development; [
|
|
<!ENTITY important-stability "<para>
|
|
This book viewable online is in a constant flux of updates, and updates about
|
|
as often as the BLFS Git/SVN version. While there isn't a viewable online
|
|
version of the stable release, you can either render it yourself by following
|
|
<ulink url='&glfs-repo;'/>, or you can download a <ulink
|
|
url='&glfs-repo;/releases'>release</ulink>.
|
|
</para>">
|
|
]]>
|
|
<![ %release; [
|
|
<!ENTITY important-stability "<para>
|
|
This is the stable release of this book and is known to have working
|
|
instructions and matches up with LFS and BLFS &xlfs-version;. External links
|
|
will point to stable sources. However, links that point to MLFS is
|
|
problematic as MLFS is rolling release, not stable, so information there may
|
|
be ahead of the results that appear from this book, and instructions in the
|
|
newer version of the book may lead to broken instructions in this one.
|
|
However, in <xref linkend='achievingml'/>, it will show you how to render a
|
|
stable release of MLFS.
|
|
</para>">
|
|
]]>
|
|
<![ %development; [
|
|
<!ENTITY multilib-rendering1 "<para>You can render MLFS if you wish.</para>">
|
|
<![ %sysv; [
|
|
<!ENTITY multilib-rendering2 "<para>First, install <ulink
|
|
url='&blfs-svn;/general/git.html'>Git</ulink>, then
|
|
clone the LFS repo and switch to the
|
|
<computeroutput>multilib</computeroutput> branch:
|
|
</para>
|
|
<screen><userinput>git clone https://git.linuxfromscratch.org/lfs.git mlfs &&
|
|
cd mlfs &&
|
|
git checkout multilib</userinput></screen>
|
|
<para>
|
|
Now inspect the <filename>INSTALL</filename> file to check for the needed
|
|
dependencies in order to render the book. Once you have ensured you have
|
|
installed everything, render the book:
|
|
</para>
|
|
<screen><userinput>make -j1 ARCH=ml_32</userinput></screen>">
|
|
]]>
|
|
<![ %systemd; [
|
|
<!ENTITY multilib-rendering2 " ">
|
|
]]>
|
|
]]>
|
|
<![ %release; [
|
|
<!ENTITY multilib-rendering1 "<para>
|
|
The links above, however, are rolling release and are rendered frequently.
|
|
The known version of MLFS to work with this version of GLFS is
|
|
&mlfs-stable; with &mlfs-extra-commits; merged. You can render it by
|
|
following the instructions below.
|
|
</para>">
|
|
<![ %sysv; [
|
|
<!ENTITY multilib-rendering2 "<para>First, install <ulink
|
|
url='&blfs-svn;/general/git.html'>Git</ulink>, then
|
|
clone the LFS repo, switch to the
|
|
<computeroutput>multilib</computeroutput> branch, then switch to the stable
|
|
version:
|
|
</para>
|
|
<screen><userinput>git clone https://git.linuxfromscratch.org/lfs.git mlfs &&
|
|
cd mlfs &&
|
|
git checkout multilib &&
|
|
git checkout &mlfs-stable; &&
|
|
git merge --no-commit &mlfs-extra-commits;</userinput></screen>
|
|
<para>
|
|
Now inspect the <filename>INSTALL</filename> file to check for the needed
|
|
dependencies in order to render the book. Once you have ensured you have
|
|
installed everything, render the book:
|
|
</para>
|
|
<screen><userinput>make -j1 ARCH=ml_32</userinput></screen>">
|
|
]]>
|
|
<![ %systemd; [
|
|
<!ENTITY multilib-rendering2 "<para>
|
|
Now switch to the stable git hash:
|
|
</para>
|
|
<screen><userinput>git checkout &mlfs-stable; &&
|
|
git merge --no-commit &mlfs-extra-commits;</userinput></screen>">
|
|
]]>
|
|
]]>
|
|
<!ENTITY read-book "<para>
|
|
This will render the book in
|
|
<filename class='directory'>~/public_html/&lfs-filename;</filename>.
|
|
You can change how much multilib support you wish to render the book
|
|
with by changing the <envar>ARCH</envar> variable's value.
|
|
The above command will render 64-bit and 32-bit support but leaves out
|
|
x32-bit support, which is not needed for this book. If you want to get
|
|
that support too, change <computeroutput>ARCH=ml_32</computeroutput> to
|
|
<computeroutput>ARCH=ml_all</computeroutput>.
|
|
You can then point to the HTML using a browser like
|
|
<ulink url='&blfs-svn;/xsoft/firefox.html'>Firefox</ulink> or
|
|
<ulink url='&blfs-svn;/basicnet/lynx.html'>Lynx</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
For <application>Firefox</application>, type in the search bar:
|
|
|
|
<computeroutput>file:///home/<replaceable><username></replaceable>/public_html/&lfs-filename;/index.html</computeroutput>,
|
|
|
|
and replace <replaceable><username></replaceable>
|
|
with the name of the username you rendered the book with.
|
|
</para>
|
|
|
|
<para>
|
|
For <application>Lynx</application>, run the following:
|
|
</para>
|
|
|
|
<screen><userinput>lynx ~/public_html/&lfs-filename;/index.html</userinput></screen>">
|
|
|
|
<!ENTITY as_root "<note><para>When installing multiple packages in a script,
|
|
the installation needs to be done as the root user. There are three general
|
|
options that can be used to do this:</para>
|
|
|
|
<orderedlist>
|
|
|
|
<listitem><para>Run the entire script as the root user (not
|
|
recommended).</para></listitem>
|
|
|
|
<listitem><para>Use the <command>sudo</command> command from the
|
|
sudo package.</para></listitem>
|
|
|
|
<listitem><para>Use <command>su -c "command arguments"</command>
|
|
(quotes required) which will ask for the root password for every iteration
|
|
of the loop.</para></listitem>
|
|
|
|
</orderedlist>
|
|
|
|
<para>One way to handle this situation is to create a short
|
|
<command>bash</command> function that automatically selects the appropriate
|
|
method. Once the command is set in the environment, it does not need to be
|
|
set again.</para>
|
|
|
|
<screen><userinput>as_root()
|
|
{
|
|
if [ $EUID = 0 ]; then $*
|
|
elif [ -x /usr/bin/sudo ]; then sudo $*
|
|
else su -c \\"$*\\"
|
|
fi
|
|
}
|
|
|
|
export -f as_root</userinput></screen>
|
|
</note>">
|
|
|
|
<!ENTITY not-katamari "<para>This package is provided for testing the
|
|
completed Xorg installation.</para>">
|
|
|
|
<!ENTITY % package-entities SYSTEM "packages.ent">
|
|
%package-entities;
|
|
|
|
<!ENTITY logind
|
|
"<phrase revision='sysv'><xref linkend='elogind'/></phrase>
|
|
<phrase revision='systemd'><xref linkend='systemd'/></phrase>">
|
|
|
|
<!ENTITY qt5-deps
|
|
"(<xref linkend='qt5'/> or <xref role='nodep' linkend='qt5-alternate'/>)">
|
|
|
|
<!ENTITY build-wheel-cmd "pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir">
|
|
<!ENTITY build-wheel "<screen><userinput>&build-wheel-cmd; $PWD</userinput></screen>">
|
|
|
|
<!ENTITY install-wheel "pip3 install --no-index --find-links=dist --no-cache-dir --no-user">
|
|
|
|
<!ENTITY berkeley-db "<ulink url='https://anduin.linuxfromscratch.org/BLFS/bdb/db-5.3.28.tar.gz'>Berkeley DB</ulink> (deprecated)">
|
|
|
|
<!ENTITY unzip "<ulink url='&blfs-svn;/general/libarchive.html'>libarchive</ulink>">
|
|
|
|
<!ENTITY gobject-introspection "<xref linkend='glib2'/> (with GObject Introspection)">
|
|
|
|
<!ENTITY opengl "OpenGL (<xref linkend='libglvnd'/> or <xref linkend='mesa'/>)">
|
|
<!ENTITY gbm "GBM (<xref linkend='gbm'/> or <xref linkend='mesa'/>)">
|
|
|
|
<!ENTITY % xinclude-entities SYSTEM "xent.ent">
|
|
%xinclude-entities;
|