Project

General

Profile

Bug #2576

Packaging request #2506: arch introduced a base metapackage to replace the meta group

Housekeeping #2549: move non-systemd packages to [nonsystemd]

[openrc-desktop] rearrange openrc groups

bill-auger - 7 months ago - . Updated 5 months ago.

Status:
confirmed
Priority:
broken
Assignee:
% Done:

0%


Description

i have not been able to reproduce any of the other conflicts reported with installing or upgrading openrc, by using pacman- Syu; but i may have been missing some of the essential desktop packages

as of today, the most basic essential openrc install is:

base system:
  base systemd-libs-dummy
desktop system:
  base systemd-dummy
  openrc-desktop systemd-dummy polkit-elogind

when i tried installing all of those, i hit another set of conflicts that are unlike the others

$ sudo pacman -S base systemd-libs-dummy openrc-desktop systemd-dummy polkit-elogind
warning: systemd-libs-dummy-1:1-1 is up to date -- skipping
warning: acpid-openrc-20170927-1 is up to date -- skipping
warning: alsa-utils-openrc-20170927-1 is up to date -- skipping
warning: avahi-openrc-20170927-1 is up to date -- skipping
warning: bluez-openrc-20170927-1 is up to date -- skipping
warning: displaymanager-openrc-20170927-1 is up to date -- skipping
warning: gpm-openrc-20170927-1 is up to date -- skipping
warning: modemmanager-pk-rules-20160402-1 is up to date -- skipping
warning: wpa_supplicant-openrc-20170927-1 is up to date -- skipping
:: There are 2 members in group openrc-desktop:
:: Repository pcr
   1) elogind-openrc  2) networkmanager-openrc

Enter a selection (default=all): 
warning: systemd-dummy-1:1-1 is up to date -- skipping
resolving dependencies...
looking for conflicting packages...
:: polkit-elogind and polkit are in conflict. Remove polkit? [y/N] y
:: elogind-openrc and elogind are in conflict. Remove elogind? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'elogind' required by elogind-openrc
:: unable to satisfy dependency 'elogind' required by polkit-elogind
:: removing elogind breaks dependency 'elogind' required by networkmanager

History

#1

Updated by bill-auger 7 months ago

  • Description updated (diff)
#2

Updated by Megver83 7 months ago

  • Priority changed from bug to broken
  • Subject changed from conflict upgrading openrc-desktop to [openrc-desktop] rearrange openrc groups

if you have [nonsystemd] enabled, say bye bye to all [pcr] -elogind pkgs, which are now being replaced by [nonsystemd] replacements and systemd-dummy and systemd-libs-dummy will also be deprecated as nonsystemd/elogind provide systemd and nonsystemd/systemd-libs-dummy provides systemd-libs

Don't use those groups in the short term, I've to re-arrange them. I'll change this issue's topic accordingly so we keep track of what I'll be doing regarding this

#3

Updated by bill-auger 7 months ago

can you be more clear about exactly which groups to avoid - do you mean 'base-openrc' 'openrc-desktop'?

i have been recommending to use nonsystemd/base instead of 'base-openrc', because 'base-openrc' is being replaced by 'base' in nonsystemd - i was not aware that 'openrc-desktop' was going away though - i think something like it may be needed to ensure that 'systemd-dummy' and 'polkit-elogind' get installed - and likewise for 'base', to ensure that 'systemd-libs-dummy' gets installed with 'base'

#4

Updated by Megver83 7 months ago

systemd-dummy and systemd-libs-dummy are useless from now on because nonsystemd/elogind provides systemd and nonsystemd/libelogind provides systemd-libs so don't recommend them to anybody

and forget about polkit-elogind and all -elogind packages, I've rebuit (and upgrade) them in [nonsystemd] without that suffix
https://www.parabola.nu/packages/nonsystemd/x86_64/polkit/

Regarding the groups, I just said to avoid them for now, but I'll rearrange, not remove them. The only group that's being deprecated is base-openrc

#5

Updated by bill-auger 7 months ago

awesome this sounds real good - glad we are getting this sorted
out finally

#6

Updated by bill-auger 7 months ago

i went over the openrc base install today with the intention of removing 'systemd-libs-dummy' and 'systemd-dummy' from the pacstrap commands on the wiki install guide; but i noticed that 'systemd-libs-dummy' is still necessary, in order to avoid installing 'systemd-*' packages from [libre] - there must be something that 'systemd-libs-dummy' provides/depends, that nonsystemd/base still does not

# pacstrap /mnt base --print | grep -E '[^n]systemd|elogind'
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-systemd-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-myhostname-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-mymachines-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-resolve-243.162-2.parabola1-x86_64.pkg.tar.xz
file:///mnt/var/cache/pacman/pkg/libelogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-libs-243.162-2.parabola1-x86_64.pkg.tar.xz

# pacstrap /mnt base elogind --print | grep -E '[^n]systemd|elogind'
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-systemd-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-myhostname-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-mymachines-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-resolve-243.162-2.parabola1-x86_64.pkg.tar.xz
file:///mnt/var/cache/pacman/pkg/libelogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-libs-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/nonsystemd/os/x86_64/elogind-241.3-1-x86_64.pkg.tar.xz

# pacstrap /mnt base systemd-libs-dummy --print | grep -E '[^n]systemd|elogind'
file:///mnt/var/cache/pacman/pkg/libelogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/pcr/os/x86_64/systemd-libs-dummy-1:1-1-any.pkg.tar.xz
#7

Updated by bill-auger 7 months ago

the same is true for the 'openrc-desktop' wiki instructions - the pacstrap command still requires 'systemd-dummy' at the minimum, in order to avoid installing 'systemd-*' packages from [libre]

# pacstrap /mnt base openrc-desktop --print | grep -E '[^n]systemd|elogind'
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-systemd-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-myhostname-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-mymachines-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-nss-resolve-243.162-2.parabola1-x86_64.pkg.tar.xz
file:///mnt/var/cache/pacman/pkg/libelogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-libs-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-common-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/nonsystemd/os/x86_64/elogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/pcr/os/x86_64/elogind-openrc-20170927-1-any.pkg.tar.xz

# pacstrap /mnt base systemd-libs-dummy openrc-desktop --print | grep -E '[^n]systemd|elogind'
file:///mnt/var/cache/pacman/pkg/libelogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/pcr/os/x86_64/systemd-libs-dummy-1:1-1-any.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-common-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/libre/os/x86_64/systemd-243.162-2.parabola1-x86_64.pkg.tar.xz
http://repo.parabola.nu/nonsystemd/os/x86_64/elogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/pcr/os/x86_64/elogind-openrc-20170927-1-any.pkg.tar.xz

# pacstrap /mnt base systemd-libs-dummy openrc-desktop systemd-dummy --print | grep -E '[^n]systemd|elogind'
file:///mnt/var/cache/pacman/pkg/libelogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/pcr/os/x86_64/systemd-libs-dummy-1:1-1-any.pkg.tar.xz
http://repo.parabola.nu/pcr/os/x86_64/systemd-dummy-1:1-1-any.pkg.tar.xz
http://repo.parabola.nu/nonsystemd/os/x86_64/elogind-241.3-1-x86_64.pkg.tar.xz
http://repo.parabola.nu/pcr/os/x86_64/elogind-openrc-20170927-1-any.pkg.tar.xz
#8

Updated by bill-auger 6 months ago

  • Description updated (diff)

in order to allow `pacstrap /mnt nonsystemd/base` to work as people expect, i added 'systemd-libs-dummy' to the 'nonsystemd/base' meta-package - i will probably build and publish the package later today - if some other package will provide whatever 'systemd-libs-dummy' does now, which is necessary to prevent the real systemd-* packages from being installed, we can replace it, or remove it

#9

Updated by Megver83 6 months ago

NOOOOOOOOOO, DON'T DO IT

systemd-libs-dummy and systemd-dummy will be deprecated soon, creating hard dependencies with them in the base package is suicide. I'll rearrange everything this month, I've been busy with the chromebook kernel but I'll now dedicate time to this problem. Please DO NOT TOUCH [nonsystemd] packages till I get everything working. Meanwhile ppl will have to do `pacstrap /mnt base elogind libelogind` (as [nonsystemd] is above [libre] in pacman.conf it will automatically install the [nonsystemd] versions of base, elogind and libelogind).

REMEMBER: nonsytemd/elogind provides systemd and nonsystemd/libelogind provides systemd-libs now

#10

Updated by Megver83 6 months ago

Just removed the following [pcr] packages:

  • polkit-elogind
  • systemd-dummy
  • systemd-libs-dummy
  • elogind-openrc
  • elogind
  • libelogind
  • openrc

they all have their corresponding replacements in [nonsystemd], I'll fix #2574 later and rearrange all the openrc pkgs in [nonsystemd]

#11

Updated by bill-auger 6 months ago

ok i was not aware that those completely satisfy the fake systemd requirements - 'elogind' and 'libelogind' together with 'base' do avoid any systemd-* packages from being installed - thats all i was trying to accomplish - so for now, the install guide should be changed to

# pacstrap /mnt base elogind libelogind

i just checked, base + libelogind is enough to prevent any systemd-* packages from being installed - so why not add elogind and libelogind (or only libelogind) to nonsystemd/base now, instead of systemd-libs-dummy? - that would allow putting the install guide back to `pacstrap /mnt base`; and it would not need to change again

#12

Updated by bill-auger 5 months ago

megver - the new nonsystemd/base that you made the other day still pulls in systemd packages - people complain about that - i think that is the main goal of this ticket - to allow `pacstrap /mnt base` to install a systemd-free system; without adding any crutches like 'systemd-dummy' and 'systemd-libs-dummy'

as i wrote to the mailing list, i have been consolidating all of the packages that are installed on the LiveISOs, or installed by the installers - those lists are tedious to maintain; because they are spread across an unreasonably large number of locations - there are at least 10 different package lists, which are nearly identical; but are maintained separately - 5 of them are on the master branch of paraboliso alone - using the parabolaiso 'unified' branch, i got that number down to 3 (which is still 8 total) - if all of those package lists are maintained in abslibre, these can be further consolidated, down to one single set of package sets for all installers to draw from, centrally maintained, using meta-packages:

  • libre/base
  • libre/parabola-base
  • libre/parabola-desktop
  • nonsystemd/base
  • nonsystemd/parabola-base
  • nonsystemd/parabola-desktop

the package lists for parabola-vmbootstrap (used to make the ARM tarballs) are as pretty as this now:

readonly BASE_MIN_PKGS=('base'                             )
readonly BASE_STD_PKGS=('base' 'parabola-base'             )
readonly BASE_DEV_PKGS=('base' 'parabola-base' 'base-devel')

i think that libelogind belongs in nonsystemd/base; and elogind belongs in nonsystemd/parabola-desktop - that would allow the install guide to be as simple as `pacstrap /mnt base`, with no extra steps or confusing side-effects - is there any reason why 'libelogind' should not be in nonsystemd/base? - if there is, then i will put it in nonsystemd/parabola-base

#13

Updated by Megver83 5 months ago

If I put (lib)elogind in nonsystemd/base, then users will be unable to use notsystemd as a replacement for systemd. For this reason,

the correct way to install a systemd-free systemd is by doing

# pacstrap /mnt base elogind

OR
# pacstrap /mnt base notsystemd

And regarding the parabola-base package, I think is uneeded, since users can simply install pkgfile, for example, and source /usr/share/doc/pkgfile/command-not-found.bash which will tell them which packages have the binaries they want (e.g. if the user runs `dhcpcd` or `netctl` it will output the pkg name which has it). Plus, the only critical package which is not installed by default is linux-libre, but is listed as an optdepend.

My dogma is: the less packages, the better. If you want to keep parabola-base or add a [nonsystemd] version, do it. However, as I said, I don't see any purpose on it. What we can do is to recommend installing and sourcing pkgfile so users will know where's the "missing" software, and that's enough.

#14

Updated by bill-auger 5 months ago

On Fri, 07 Feb 2020 01:47:22 +0000 wrote:

If I put (lib)elogind in nonsystemd/base, then users will be
unable to use notsystemd as a replacement for systemd. For
this reason, the correct way to install a systemd-free systemd
is by doing `pacstrap /mnt base elogind` OR `pacstrap /mnt
base notsystemd`

to me, that suggests adding 'notsystemd' to the depends() of
base, and adding 'notsystemd' to the provides() of libelogind -
because of alphabetical order, 'elogind' would be the default
option chosen by pacstrap, or `pacstrap -i` would offer the
option

it also raises the question of: what is the difference between
libelogind and notsystemd ? - is there any reason to have both of
them in the repos ? - if there is no difference than the
solution is even simpler, just remove one or the other from the
repos

what i would like to see is the pacstrap commands be the same,
regardless of the init-system:

## minimal base system ##
# pacstrap /mnt base

## complete posix-compliant CLI system (same as the CLI ISOS) ##
# pacstrap /mnt base parabola-base

## complete posix-compliant desktop system (same as the LXDE ISOS) ##
# pacstrap /mnt base parabola-desktop

Also available in: Atom PDF