On Fri, May 04, 2018 at 11:29:46PM +0000, Holger Levsen wrote:
> Some questions:
>
> commit c08ad7e42c9c1e6b38c92486e9be650da5eef2f0
> Author: Wolfgang Schweer <wschweer@arcor.de>
> Date: Mon Apr 30 21:28:06 2018 +0200
>
> cf3/edu.cf: Add class desktopintern.
>
> This class matches a stationary workstation with package education-desktop-other
> installed.
>
> + # Set for networked workstation if the 'education-desktop-other' package is installed.
> + "desktopintern" and => { fileexists("/usr/share/doc/education-desktop-other"), fileexists("/usr/bin/ntpq") };
>
>
> why use the existence of /usr/bin/ntpq ?
Because it can tell networked and standalone workstations apart, see the
definitions of classes 'workstation' and 'standalone' (same file); these
two definitions have been used before with cfengine2 and got
'translated' to cfengine3 speak some time ago).
Running 'cf-agent -D installation' on a test system with updated
cfengine files seemed to work like expected.
> commit d5a6ec5c48dae5845e200db69f48467b5a9ec584
> Author: Wolfgang Schweer <wschweer@arcor.de>
> Date: Mon Apr 30 21:37:18 2018 +0200
>
> cf3/cf.finalize: Add shell command for class desktopintern.
>
> This allows one to install some packages suited only for networked machines in
> addition to those installed via the education-desktop-other meta-package for all
> workstations.
>
> +
> + # Install desktop related packages, suited only for networked machines.
> +
> + debian.desktopintern.installation::
> +
> + "/usr/bin/apt install -y jxplorer gosa-desktop krb5-auth-dialog"
> + contain => in_shell;
>
>
> hm, the commit message explains a bit, but why are those packages choosen and anyway,
> this feels wrong, like an attempt to rewrite configuration management systems.
> (which arguently this is not, but rather a configuration of cfengine, which indeed is a
> configuration management system).
Instead of those three desktop related packages, there should rather be
a name of a (new!) meta-package, say 'education-desktop-other-networked'
recommending those (moved as Recommends: from 'education-networked' to
Suggests: to 'education-desktop-other' to keep them on installation
media), because src:d-e would be the right place for maintaining them.
(Similar to 'education-networked-common' and 'education-networked' for
non-desktop packages.)
As the existence of 'desktop=xxxx' on the kernel command line, which is
there by default, will now pull in 'education-desktop-other' it would
have been wrong to move those three packages from 'education-networked'
to 'education-desktop-other', because it might confuse users if
installed on systems with profile 'Standalone'.
Once a modular installation scenario has proven to exist in the real
world, src:debian-edu should be adjusted accordingly. I'll file a
wishlist bug requesting a new meta-package once tests have been
successful. For the time being I reckoned the chosen approach to be the
least invasive one.
> Now I read debian/changelog I understand the intend much better. I think this should
> be made cleaer in cf.finalize (as comment in that file) as well as better packages should
> be choosen. (Or explained better as well :)
Yeah, I tried to explain, but then the modular installation approach is
sort of a puzzle consisting of pieces spread around src:d-e, src:d-e-c
and kernel command line params...
Once working, I'll add another installation scenario to the manual's
installation chapter.
Maybe the intention is a bit clearer now...
Wolfgang
Attachment:
signature.asc
Description: PGP signature