#729 install env-group to resolve RhBug:1891500 - problem with removal of secondary env group
Merged 4 years ago by kevin. Opened 4 years ago by jmracek.
jmracek/fedora-kickstarts groups  into  master

file modified
+4 -2
@@ -9,8 +9,10 @@ 

  %packages

  

  fedora-release-cinnamon

- @networkmanager-submodules

- @cinnamon-desktop

+ 

+ # install env-group to resolve RhBug:1891500

+ @^cinnamon-desktop-environment

+ 

  @libreoffice

  parole

  rhythmbox

file modified
+6 -2
@@ -1,13 +1,17 @@ 

  

  %packages

+ # install env-group to resolve RhBug:1891500

+ @^kde-desktop-environment

+ 

  @firefox

  @kde-apps

- @kde-desktop

  @kde-media

  @kde-office

- @networkmanager-submodules

+ 

  fedora-release-kde

  

+ -@admin-tools

+ 

  ### The KDE-Desktop

  

  ### Browser

file modified
-11
@@ -24,17 +24,6 @@ 

  %include fedora-repo.ks

  

  %packages

- @base-x

- @guest-desktop-agents

- @standard

- @core

- @fonts

- @input-methods

- @dial-up

- @multimedia

- @hardware-support

- @printing

- 

  # Explicitly specified here:

  # <notting> walters: because otherwise dependency loops cause yum issues.

  kernel

file modified
+6 -4
@@ -10,7 +10,8 @@ 

  

  %packages

  # Start with GNOME

- @gnome-desktop

+ # Install workstation-product-environment to resolve RhBug:1891500

+ @^workstation-product-environment

  

  # Add robotics development packages

  @robotics-suite
@@ -30,9 +31,10 @@ 

  -@dial-up

  -@input-methods

  -@standard

- 

- # Add a web browser

- @firefox

+ -@container-management

+ -@libreoffice

+ -@networkmanager-submodules

+ -@workstation-product

  

  # Remove office suite

  -libreoffice-*

file modified
+3 -1
@@ -21,7 +21,9 @@ 

  part / --size 10240

  

  %packages

- @xfce-desktop

+ # install env-group to resolve RhBug:1891500

+ @^xfce-desktop-environment

+ 

  @xfce-apps

  

  # Security tools

file modified
+4 -2
@@ -8,11 +8,12 @@ 

  

  %packages

  ### LXDE desktop

- @lxde-desktop

+ # install env-group to resolve RhBug:1891500

+ @^lxde-desktop-environment

+ 

  @lxde-apps

  @lxde-media

  @lxde-office

- @networkmanager-submodules

  

  # FIXME: can be omitted once comps is updated

  midori
@@ -39,6 +40,7 @@ 

  #-words

  

  # save some space

+ -@admin-tools

  -autofs

  -acpid

  -gimp-help

file modified
+4 -2
@@ -9,10 +9,11 @@ 

  #

  

  %packages

- @lxqt

+ # install env-group to resolve RhBug:1891500

+ @^lxqt-desktop-environment

+ 

  @lxqt-apps

  @lxqt-media

- @networkmanager-submodules

  

  # for nm applet

  gnome-keyring
@@ -43,6 +44,7 @@ 

  

  # remove input methods to free space

  -@input-methods

+ -@admin-tools

  -scim*

  -m17n*

  # Temporary include ibus to workaround RHBZ 1633225

file modified
+4 -2
@@ -1,6 +1,8 @@ 

  %packages

+ # install env-group to resolve RhBug:1891500

+ @^mate-desktop-environment

+ 

  fedora-release-matecompiz

- @mate

  compiz

  compiz-plugins-main

  compiz-plugins-extra
@@ -14,7 +16,6 @@ 

  emerald-themes

  emerald

  fusion-icon

- @networkmanager-submodules

  

  # blacklist applications which breaks mate-desktop

  -audacious
@@ -31,6 +32,7 @@ 

  

  # Drop things for size

  -@3d-printing

+ -@admin-tools

  -brasero

  -fedora-icon-theme

  -gnome-icon-theme

file modified
+2 -7
@@ -9,10 +9,11 @@ 

  firewall --enabled --service=mdns,presence

  

  %packages

+ # install env-group to resolve RhBug:1891500

+ @^sugar-desktop-environment

  

  # == Core Sugar Platform ==

  fedora-release-soas

- @sugar-desktop

  

  # explicitly remove a bunch of extra stuff

  -openbox
@@ -52,12 +53,6 @@ 

  sil-abyssinica-fonts

  vlgothic-fonts

  

- # Write breaks unless we do this (we don't need it anyway)

- @input-methods

- 

- # Needed for wifi, bluetooth and WWAN connection support

- @networkmanager-submodules

- 

  # Usefulness for DSL connections as per:

  # http://bugs.sugarlabs.org/ticket/1951

  rp-pppoe

file modified
+2 -15
@@ -5,21 +5,8 @@ 

  -@input-methods

  -@standard

  

- # Make sure to sync any additions / removals done here with

- # workstation-product-environment in comps

- @base-x

- @container-management

- @core

- @firefox

- @fonts

- @gnome-desktop

- @guest-desktop-agents

- @hardware-support

- @libreoffice

- @multimedia

- @networkmanager-submodules

- @printing

- @workstation-product

+ # Install workstation-product-environment to resolve RhBug:1891500

+ @^workstation-product-environment

  

  # Exclude unwanted packages from @anaconda-tools group

  -gfs2-utils

file modified
+3 -4
@@ -13,15 +13,14 @@ 

  %packages

  

  fedora-release-xfce

- @networkmanager-submodules

- @xfce-desktop

+ # install env-group to resolve RhBug:1891500

+ @^xfce-desktop-environment

+ 

  @xfce-apps

  @xfce-extra-plugins

  @xfce-media

  @xfce-office

  

- # Admin tools are handy to have

- @admin-tools

  # Add some screensavers, people seem to like them

  # Note that blank is still default.

  xscreensaver-extras

It also resolves - Bug 1554010 - No env. group installed after Fedora installation

Isn't there a specific syntax for environment group as opposed to package group - @^ or something?

Isn't there a specific syntax for environment group as opposed to package group - @^ or something?

Ditto. Was going to make same comment.

pykickstart docs say:

"You can also specify environments using the @^ prefix followed by full environment name as given in the comps.xml file. If multiple environments are specified, only the last one specified will be used. Environments can be mixed with both group specifications (even if the given group is not part of the specified environment) and package specifications."

Isn't there a specific syntax for environment group as opposed to package group - @^ or something?

I checked code in DNF but I did not found any sign of ^ support for env. groups. It was in YUM and not yet implemented in DNF.

pykickstart docs say:

"You can also specify environments using the @^ prefix followed by full environment name as given in the comps.xml file. If multiple environments are specified, only the last one specified will be used. Environments can be mixed with both group specifications (even if the given group is not part of the specified environment) and package specifications."

Probably that the time to change documentation. But anyway, you can try to install env. group with kickstart script given to anaconda with ^ and without and you can see what happened.

Anaconda is using dnf.base.Base().install_specs() method that parses arguments like dnf install command. dnf install @cinnamon-desktop-environment works, dnf install @^cinnamon-desktop-environment doesn't.

ok, so what do we do here? Is dnf/anaconda going to implement this? or ?

ok, so what do we do here? Is dnf/anaconda going to implement this? or ?

This is a good question. From dnf perspective it is not required to implement support of '@^', because it works with '@' and users use it by that way. But we have to ask also an opinion from developers of Anaconda, Lorax, Pungi, and of course Kickstart.

From the Anaconda code:

https://github.com/rhinstaller/anaconda/blob/cd084e27ff8154a2db866d945c123803b17c2002/pyanaconda/modules/payloads/payload/dnf/utils.py#L113

Seems that we are switching this syntax from

@^environment

to

@environment

Is that correct way to solve this or should we implement it otherwise?

It means I can use @^. But anyway dnf is not handling it separately.

AFAIK because for DNF the environments are just 'special' groups so we are passing them as groups. However, @m4rtink should know this better than me. He, implemented this feature in Anaconda.

rebased onto 59305b012301d9d660f5ff9a61f9d8d049e216c9

4 years ago

Ok, I changed it to @^. Hope that now it can be merged.

So, I finally have the whole picture here. This change seems to be correct thing to do, however, it does not solve the bug. Reason for that, is that Livemedia-creator will use Anaconda and Anaconda now switching @^ to @ because DNF does not understand environments like this.

In other words, we need to land this change, DNF has to give us a way to specify environment by install_specs() (ideally by existing @^) and Anaconda can then drop that workaround and use proper environment switching.

So or so, as I mentioned above. This change should land because it should not break anything (better to test before of course) and than it's about DNF to give us API and us to use that.

I believe that it will work correctly. Spin-kickstart will pass @^environment_name, anaconda transforms it into @environment_name to dnf.Base().install_specs() and DNF recognize @environment_name as environment and install it (like dnf install @environment_name).

rebased onto dd8d0fa

4 years ago

ok, lets find out then I guess?

Pull-Request has been merged by kevin

4 years ago