Files
glfs/general.ent
Zeckmathederg ffcb43bf78 *: HTTP(S) -> . FTP entries removed.
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.
2025-07-17 16:15:32 -06:00

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 &amp;&amp;
cd mlfs &amp;&amp;
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 &amp;&amp;
cd mlfs &amp;&amp;
git checkout multilib &amp;&amp;
git checkout &mlfs-stable; &amp;&amp;
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; &amp;&amp;
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>&lt;username&gt;</replaceable>/public_html/&lfs-filename;/index.html</computeroutput>,
and replace <replaceable>&lt;username&gt;</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 &quot;command arguments&quot;</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 \\&quot;$*\\&quot;
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;