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
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
Subtasks
History
Updated by Megver83 over 3 years 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
Updated by bill-auger over 3 years 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'
Updated by Megver83 over 3 years 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
Updated by bill-auger over 3 years ago
awesome this sounds real good - glad we are getting this sorted
out finally
Updated by bill-auger over 3 years 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
Updated by bill-auger over 3 years 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
Updated by bill-auger about 3 years 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
Updated by Megver83 about 3 years 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
Updated by Megver83 about 3 years 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]
Updated by bill-auger about 3 years 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
Updated by bill-auger about 3 years 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
Updated by Megver83 about 3 years 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.
Updated by bill-auger about 3 years ago
On Fri, 07 Feb 2020 01:47:22 +0000 labs@parabola.nu 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