Discussion:
[blfs-support] Linux-PAM-1.3.0 & Shadow-4.6 & Systemd-239 and dependencies
Hans Malissa via blfs-support
2018-11-24 07:16:34 UTC
Permalink
Hi all, 

I would like to install Linux-PAM-1.3.0 (LFS 8.3-systemd), and in the chapter on the package it says that I should reinstall Shadow-4.6 and Systemd-239 afterwards. Since these three packages need to be installed consecutively, I'm now trying to figure out which dependencies need to be installed and in which order. It seems to me that there are some circular dependencies:
1.) Linux-PAM-1.3.0 depends on libtirpc-1.0.3, which makes use of MIT Kerberos V5-1.16.1, which depends on OpenLDAP-2.4.46, which depends on Cyrus SASL-2.1.26, which makes use of Linux-PAM-1.3.0, MIT Kerberos V5-1.16.1, and OpenLDAP-2.4.46. This seems to be a circular dependency, and I wonder in which order these need to be installed.
2.) Systemd-239 depends on Polkit-0.114, which depends on GLib-2.56.1. GLib depends on shared-mime-info-1.10 and desktop-file-utils-0.23 (at least for the tests), but both of them depend on GLib-2.56.1 -- this is mentioned in the chapter on GLib, but it is still not clear to me in which order I need to install those. GLib also depends gobject-introspection-1.56.1 which also needs GLib-2.56.1. GLib also has an optional dependency on dbus-1.12.10, but that in turn depends on Systemd-239. I'm quite confused in which order these need to be installed.
In which order do you usually install Linux-PAM-1.3.0, Shadow-4.6, and Systemd-239 along with all dependencies?
Thanks a lot,

Hans
Pierre Labastie via blfs-support
2018-11-24 09:38:11 UTC
Permalink
Hi all, 
I would like to install Linux-PAM-1.3.0 (LFS 8.3-systemd), and in the chapter
on the package it says that I should reinstall Shadow-4.6 and Systemd-239
afterwards. Since these three packages need to be installed consecutively, I'm
now trying to figure out which dependencies need to be installed and in which
1.) Linux-PAM-1.3.0 depends on libtirpc-1.0.3, which makes use of MIT Kerberos
V5-1.16.1, which depends on OpenLDAP-2.4.46, which depends on Cyrus
SASL-2.1.26, which makes use of Linux-PAM-1.3.0, MIT Kerberos V5-1.16.1, and
OpenLDAP-2.4.46. This seems to be a circular dependency, and I wonder in which
order these need to be installed.
2.) Systemd-239 depends on Polkit-0.114, which depends on GLib-2.56.1. GLib
depends on shared-mime-info-1.10 and desktop-file-utils-0.23 (at least for the
tests), but both of them depend on GLib-2.56.1 -- this is mentioned in the
chapter on GLib, but it is still not clear to me in which order I need to
install those. GLib also depends gobject-introspection-1.56.1 which also needs
GLib-2.56.1. GLib also has an optional dependency on dbus-1.12.10, but that in
turn depends on Systemd-239. I'm quite confused in which order these need to
be installed.
In which order do you usually install Linux-PAM-1.3.0, Shadow-4.6, and
Systemd-239 along with all dependencies?
Thanks a lot,
All circular dependencies need a double install. For instance, if package a
depends on package b, which depends on package a, you may install:
package a, then package b, then package a again

But you could as well install:
package b, then package a, then package b again

To choose the first package to install, as a rule of thumb, you should begin
with those who are required/recommended before those who are optional...
When there is a circular dependency between packages both at the
required/recommended level, the book tells which one to build first. When both
are optional, the book doesn't tell anything: the developers of the book do
not test optional dependencies on a regular basis, so they do not put
information which could become obsolete in the book.

Now, you do not have always to rebuild a package, even if there is an optional
dependency: it depends on whether you want the functionality added by the
circular dependency. For example, I've never built libtirpc before Linux-PAM,
because I do not need the added functionality (I don't even know what it is,
actually :).

To answer your question, here is the order I use:
cracklib, linux-PAM, libcap-PAM, shadow, systemd, cyrus-sasl, openldap. I do
not need Kerberos, so I do not build it (except for testing the book).

For glib, first build it, then gobject-instrospection, then dbus. Note that
you have already dbus and systemd from LFS (or after installing linux-PAM).
Once you have all those, you may install the dependencies for the glib tests,
and rebuild and test glib... But are you sure you need testing glib?


Regards
Pierre
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above
Bruce Dubbs via blfs-support
2018-11-24 16:47:34 UTC
Permalink
Post by Pierre Labastie via blfs-support
Now, you do not have always to rebuild a package, even if there is an optional
dependency: it depends on whether you want the functionality added by the
circular dependency. For example, I've never built libtirpc before Linux-PAM,
because I do not need the added functionality (I don't even know what it is,
actually :).
libtirpc is needed for nfs via rpcbind and nfs-utils. The other
packages that use this capability are mostly related to that: samba,
lsof, autofs, dovecot, etc.

If you don't use remotely mounted file systems, then libtirpc is not
needed unless the package requires it (autofs, lsof, libnsl).

For any package, optional means that the user should know what
additional capabilities are provided by the optional dependency and only
build that if that capability is desired.

Of course, sometimes knowing if the capability is needed is not easily
known so many users will default to building everything.

Of course, as editors, we generally build most packages if not
everything, even if we don't use a lot of the packages.

-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsu
Hans Malissa via blfs-support
2018-11-26 23:00:50 UTC
Permalink
On Nov 24, 2018, at 02:38 AM, Pierre Labastie via blfs-support <blfs-***@lists.linuxfromscratch.org> wrote:
On 24/11/2018 08:16, Hans Malissa via blfs-support wrote:
Hi all, 

I would like to install Linux-PAM-1.3.0 (LFS 8.3-systemd), and in the chapter
on the package it says that I should reinstall Shadow-4.6 and Systemd-239
afterwards. Since these three packages need to be installed consecutively, I'm
now trying to figure out which dependencies need to be installed and in which
order. It seems to me that there are some circular dependencies:
1.) Linux-PAM-1.3.0 depends on libtirpc-1.0.3, which makes use of MIT Kerberos
V5-1.16.1, which depends on OpenLDAP-2.4.46, which depends on Cyrus
SASL-2.1.26, which makes use of Linux-PAM-1.3.0, MIT Kerberos V5-1.16.1, and
OpenLDAP-2.4.46. This seems to be a circular dependency, and I wonder in which
order these need to be installed.
2.) Systemd-239 depends on Polkit-0.114, which depends on GLib-2.56.1. GLib
depends on shared-mime-info-1.10 and desktop-file-utils-0.23 (at least for the
tests), but both of them depend on GLib-2.56.1 -- this is mentioned in the
chapter on GLib, but it is still not clear to me in which order I need to
install those. GLib also depends gobject-introspection-1.56.1 which also needs
GLib-2.56.1. GLib also has an optional dependency on dbus-1.12.10, but that in
turn depends on Systemd-239. I'm quite confused in which order these need to
be installed.
In which order do you usually install Linux-PAM-1.3.0, Shadow-4.6, and
Systemd-239 along with all dependencies?
Thanks a lot,


All circular dependencies need a double install. For instance, if package a
depends on package b, which depends on package a, you may install:
package a, then package b, then package a again

But you could as well install:
package b, then package a, then package b again

To choose the first package to install, as a rule of thumb, you should begin
with those who are required/recommended before those who are optional...
When there is a circular dependency between packages both at the
required/recommended level, the book tells which one to build first. When both
are optional, the book doesn't tell anything: the developers of the book do
not test optional dependencies on a regular basis, so they do not put
information which could become obsolete in the book.

Now, you do not have always to rebuild a package, even if there is an optional
dependency: it depends on whether you want the functionality added by the
circular dependency. For example, I've never built libtirpc before Linux-PAM,
because I do not need the added functionality (I don't even know what it is,
actually :).

To answer your question, here is the order I use:
cracklib, linux-PAM, libcap-PAM, shadow, systemd, cyrus-sasl, openldap. I do
not need Kerberos, so I do not build it (except for testing the book).

For glib, first build it, then gobject-instrospection, then dbus. Note that
you have already dbus and systemd from LFS (or after installing linux-PAM).
Once you have all those, you may install the dependencies for the glib tests,
and rebuild and test glib... But are you sure you need testing glib?

Thanks for the explanation. I've successfully compiled & installed glib following your instructions. The glib tests are successful when I build it for the second time (I try to test all packages as far as possible, following the instructions in the BLFS book).
I am aware that systemd and dbus were installed during LFS 8.3-systemd; but what about BLFS 8.3-systemd packages that explicitly list either of these two as a dependency? I used to think that the BLFS book implicitly assumes that LFS packages are installed, so when a package like systemd or dbus (from LFS) is listed explicitly as dependency in BLFS, I was assuming that I need to re-build it at this point. Is this not correct?
Thanks a lot,

Hans
Christopher Gregory via blfs-support
2018-11-27 02:01:22 UTC
Permalink
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page
Douglas R. Reno via blfs-support
2018-11-29 16:02:52 UTC
Permalink
Post by Hans Malissa via blfs-support
On Nov 24, 2018, at 02:38 AM, Pierre Labastie via blfs-support
Post by Pierre Labastie via blfs-support
Post by Hans Malissa via blfs-support
Hi all,
I would like to install Linux-PAM-1.3.0 (LFS 8.3-systemd), and in the chapter
on the package it says that I should reinstall Shadow-4.6 and Systemd-239
afterwards. Since these three packages need to be installed
consecutively, I'm
now trying to figure out which dependencies need to be installed and in which
1.) Linux-PAM-1.3.0 depends on libtirpc-1.0.3, which makes use of MIT Kerberos
V5-1.16.1, which depends on OpenLDAP-2.4.46, which depends on Cyrus
SASL-2.1.26, which makes use of Linux-PAM-1.3.0, MIT Kerberos V5-1.16.1, and
OpenLDAP-2.4.46. This seems to be a circular dependency, and I wonder in which
order these need to be installed.
2.) Systemd-239 depends on Polkit-0.114, which depends on
GLib-2.56.1. GLib
depends on shared-mime-info-1.10 and desktop-file-utils-0.23 (at least for the
tests), but both of them depend on GLib-2.56.1 -- this is mentioned in the
chapter on GLib, but it is still not clear to me in which order I need to
install those. GLib also depends gobject-introspection-1.56.1 which also needs
GLib-2.56.1. GLib also has an optional dependency on dbus-1.12.10, but that in
turn depends on Systemd-239. I'm quite confused in which order these need to
be installed.
In which order do you usually install Linux-PAM-1.3.0, Shadow-4.6, and
Systemd-239 along with all dependencies?
Thanks a lot,
All circular dependencies need a double install. For instance, if package a
package a, then package b, then package a again
package b, then package a, then package b again
To choose the first package to install, as a rule of thumb, you should begin
with those who are required/recommended before those who are optional...
When there is a circular dependency between packages both at the
required/recommended level, the book tells which one to build first. When both
are optional, the book doesn't tell anything: the developers of the book do
not test optional dependencies on a regular basis, so they do not put
information which could become obsolete in the book.
Now, you do not have always to rebuild a package, even if there is an optional
dependency: it depends on whether you want the functionality added by the
circular dependency. For example, I've never built libtirpc before Linux-PAM,
because I do not need the added functionality (I don't even know what it is,
actually :).
cracklib, linux-PAM, libcap-PAM, shadow, systemd, cyrus-sasl,
openldap. I do
not need Kerberos, so I do not build it (except for testing the book).
For glib, first build it, then gobject-instrospection, then dbus. Note that
you have already dbus and systemd from LFS (or after installing linux-PAM).
Once you have all those, you may install the dependencies for the glib tests,
and rebuild and test glib... But are you sure you need testing glib?
Thanks for the explanation. I've successfully compiled & installed
glib following your instructions. The glib tests are successful when I
build it for the second time (I try to test all packages as far as
possible, following the instructions in the BLFS book).
I am aware that systemd and dbus were installed during LFS
8.3-systemd; but what about BLFS 8.3-systemd packages that explicitly
list either of these two as a dependency? I used to think that the
BLFS book implicitly assumes that LFS packages are installed, so when
a package like systemd or dbus (from LFS) is listed explicitly as
dependency in BLFS, I was assuming that I need to re-build it at this
point. Is this not correct?
Thanks a lot,
Hans
That is correct. Some packages such as xorg-server explicitly link to
systemd-logind for seat and session management. systemd-logind needs PAM
and Polkit for seat/authentication management (it makes a common
interface for distributions to use since some have /etc/passwd and
/etc/group in non-standard locations [Manjaro as an example]). You'll
need to rebuild both dbus and systemd here using the BLFS instructions.

I highly doubt we'll ever add Linux-PAM to LFS. It's too complex.


Douglas R. Reno
Bruce Dubbs via blfs-support
2018-11-29 17:15:25 UTC
Permalink
Post by Douglas R. Reno via blfs-support
Post by Hans Malissa via blfs-support
On Nov 24, 2018, at 02:38 AM, Pierre Labastie via blfs-support
Post by Pierre Labastie via blfs-support
Post by Hans Malissa via blfs-support
Hi all,
I would like to install Linux-PAM-1.3.0 (LFS 8.3-systemd), and in the chapter
on the package it says that I should reinstall Shadow-4.6 and Systemd-239
afterwards. Since these three packages need to be installed
consecutively, I'm
now trying to figure out which dependencies need to be installed and in which
1.) Linux-PAM-1.3.0 depends on libtirpc-1.0.3, which makes use of MIT Kerberos
V5-1.16.1, which depends on OpenLDAP-2.4.46, which depends on Cyrus
SASL-2.1.26, which makes use of Linux-PAM-1.3.0, MIT Kerberos V5-1.16.1, and
OpenLDAP-2.4.46. This seems to be a circular dependency, and I wonder in which
order these need to be installed.
2.) Systemd-239 depends on Polkit-0.114, which depends on
GLib-2.56.1. GLib
depends on shared-mime-info-1.10 and desktop-file-utils-0.23 (at least for the
tests), but both of them depend on GLib-2.56.1 -- this is mentioned in the
chapter on GLib, but it is still not clear to me in which order I need to
install those. GLib also depends gobject-introspection-1.56.1 which also needs
GLib-2.56.1. GLib also has an optional dependency on dbus-1.12.10, but that in
turn depends on Systemd-239. I'm quite confused in which order these need to
be installed.
In which order do you usually install Linux-PAM-1.3.0, Shadow-4.6, and
Systemd-239 along with all dependencies?
Thanks a lot,
All circular dependencies need a double install. For instance, if package a
package a, then package b, then package a again
package b, then package a, then package b again
To choose the first package to install, as a rule of thumb, you should begin
with those who are required/recommended before those who are optional...
When there is a circular dependency between packages both at the
required/recommended level, the book tells which one to build first. When both
are optional, the book doesn't tell anything: the developers of the book do
not test optional dependencies on a regular basis, so they do not put
information which could become obsolete in the book.
Now, you do not have always to rebuild a package, even if there is an optional
dependency: it depends on whether you want the functionality added by the
circular dependency. For example, I've never built libtirpc before Linux-PAM,
because I do not need the added functionality (I don't even know what it is,
actually :).
cracklib, linux-PAM, libcap-PAM, shadow, systemd, cyrus-sasl, openldap. I do
not need Kerberos, so I do not build it (except for testing the book).
For glib, first build it, then gobject-instrospection, then dbus. Note that
you have already dbus and systemd from LFS (or after installing linux-PAM).
Once you have all those, you may install the dependencies for the glib tests,
and rebuild and test glib... But are you sure you need testing glib?
Thanks for the explanation. I've successfully compiled & installed
glib following your instructions. The glib tests are successful when I
build it for the second time (I try to test all packages as far as
possible, following the instructions in the BLFS book).
I am aware that systemd and dbus were installed during LFS
8.3-systemd; but what about BLFS 8.3-systemd packages that explicitly
list either of these two as a dependency? I used to think that the
BLFS book implicitly assumes that LFS packages are installed, so when
a package like systemd or dbus (from LFS) is listed explicitly as
dependency in BLFS, I was assuming that I need to re-build it at this
point. Is this not correct?
Thanks a lot,
Hans
That is correct. Some packages such as xorg-server explicitly link to
systemd-logind for seat and session management. systemd-logind needs PAM
and Polkit for seat/authentication management (it makes a common
interface for distributions to use since some have /etc/passwd and
/etc/group in non-standard locations [Manjaro as an example]). You'll
need to rebuild both dbus and systemd here using the BLFS instructions.
I highly doubt we'll ever add Linux-PAM to LFS. It's too complex.
Not only that, PAM is not of significant use if you are building a
server without Xorg where there is only one (or a few) admin accounts.

-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above informat
Hans Malissa via blfs-support
2018-11-27 08:20:29 UTC
Permalink
On Nov 26, 2018, at 07:02 PM, Christopher Gregory via blfs-support <blfs-***@lists.linuxfromscratch.org> wrote:
 
If you are going to be using any sort of desktop environment on systemd, including xorg, you will need to recompile both systemd and dbus.  The explination of why is covered on both of those BLFS systemd pages.
 
Namely you need the dbus-launch and other hooks that are required by systemd itself.
 
Basicly, anything that is installed at the LFS stage, even if it is a dependency in BLFS, it will not get mentioned in either the required or recommended sections, as it has already been installed and it is a waste of time adding it
again as this is the follow-on book.
 
Christopher.
Yes, this is how I understand it as well, thanks for the explanation. I guess I misunderstood the previous response.
Thanks a lot,

Hans 
Loading...