Support RPM install in Containers and native on Fedora CoreOS/Silverblue and OpenSUSE MicroOS

Server Version#: plexmediaserver-1.26.2.5797-5bd057d2b.x86_64.rpm
Player Version#: N/A


The RPM packaging of the plexmediaserver is doing a number of things in the rpm scripts, including a critical check in the preinstall to verify systemd is present. It is understood that systemd is necessary, and that’s not the issue.
As seen by running rpm -qp --script <pkg>, currently the preinstall script is doing:

# Make sure this system is systemd-based. If not, stop here and fail with error code 1.
if [ "$(cat /proc/1/comm)" != "systemd" ]; then
  echo "Plex Media Server requires systemd.  Please upgrade the Operating Sytem version"
  exit 1
fi

[... snip ...]

What’s important to note is that this relies on the system the package is being installed on to be running so the /proc file system is mounted. In the case of the os-tree based distros (Fedora CoreOS, Fedora Silverblue, Fedora Kinoite, OpenSuse MicroOS, etc) that are becoming very popular for use on servers, the system being updated is not running and is isolated from the currently running system. As a result, this check will fail even when systemd is present. This is hamstringing users of these distros.

An easy alternative to this check would be to simply define an actual dependency on the systemd package. In the extremely unlikely situation someone is trying to install the plexmediaserver rpm onto a system that supports rpms but somehow doesn’t currently have systemd (I’m not aware of any distribution in the last 3 years that fits this), they would be prompted during the rpm installation for the list of dependencies that are about to be installed, including systemd. This is actually the recommended method according to Fedora, though there is also an option for a weak dependency that is verifiable as to whether or not it was met without forcing the systemd installation as a hard dependency.
Yet another alternative is to look for the presence of /usr/lib/systemd/. While there is a difference between systemd being installed and it being run, it’s an unimportant distinction in this case and it’s safe to assume that if systemd is installed it’s being used. If you truly wanted to be certain that systemd really was installed and something else hasn’t artificially created the path, you can run rpm -qf /usr/lib/systemd/ to verify the folder is owned by the systemd package specifically.


This topic was previously brought up, but the point was missed in the prior question when it was mistaken for a concern about docker. That topic got automatically closed and isn’t taking new responses.

I understand what you’re saying and think I understand what you’re trying to do.

  1. It’s not possible to nest use of rpm from within rpm (lockbox asserted by rpm)
  2. If you look at how Fedora installs itself from the bootable image –
  • Create partition table on new OS device.
  • Format partitions on new OS device
  • Mount device’s partitions based at /mnt/sysimage
  • Copy (extract) the required core OS files into /mnt/sysimage
  • Bind current live kernel directories into ‘sysimage’
    mount --bind /proc /mnt/sysimage/proc
    mount --bind /sys /mnt/sysimage/sys
    mount --bind /dev /mnt/sysimage/dev
  • Execute necessary commands on the new target in its namespace
    chroot /mnt/sysimage <command(s)-or-script(s)>
  • Umount the filesystems

At this point, the target device is ready to be booted.

As you can see, completing configuration of the target OS installation is dependent on the critical kernel directories being present.

Regarding the packaging

I have a completely rewritten RPM package script set.

That package, like its current DEB counterpart, supports live-system, container (LXC or Docker), and Custom installation models.

I had previously offered it here in the forums.
There was insufficient interest to pursue further.

Without sufficient interest, the effort was placed on indefinite hold.

That’s amazing work. I only recently installed a new server using one of the os-tree based distros so I haven’t had cause to encounter or investigate this issue before. I did find your prior post, but it was closed for discussion and I wasn’t aware it would solve this specific problem as well.

I’ll give it a shot on Fedora36 Silverblue, which should/would validate it for Fedora 36 Silverblue, Fedora 36 CoreOS, Fedora 36 Workstation, and Fedora 36 Server. Presumably it would also cover OpenSUSE Leap and OpenSUSE MicroOS that use almost identical models, but I’m not familiar enough with the variations to be certain about that statement. Is there anything else I can do to help that work become mainline?

EDIT: It appears the GDrive rpm file linked in that post is gone now, as was reported by one of those who replied at the time. Is there any hope this could be revived?

I will try to find the RPM. I must have it somewhere.

The biggest problem this faces is the lack of interest from the community at large.

While I can develop and test, it isn’t safe to release new packaging scripts without a better test base/variety (which the forum/community provides).

@mtalexan

I don’t have an active RPM VM right now so can’t check this but this appears to be the most recent update I have for that new packaging.

Would you mind checking it?

If this is correct, you’ll find /tmp/plexinstaller.log will contain the flag Custom=0/1 in addition to the systemd, lxc, and docker flags.

The special handling for OpenSUSE is included in the installer.

I do not know how many variants this will support.

Plex’s official support was Centos 7, Fedora, Ubuntu, and Debian.

When Centos Stream went sideways, that largely fell by the wayside.

I rarely hear any feedback from any Fedora users.

I don’t know if that’s because they migrated to Ubuntu/Debian or Docker for the vastly superior hardware transcoding support

PS: I think this thread’s title might better be reworded. Isn’t the issue surrounding non-live situations? It works as expected when the installation is running as the active kernel. While non-standard, you could customize PMS to run in a chroot() environment of your own making :wink:

Understandable. I think the biggest hurdle with the community involvement is the highly technical nature of the change, it just doesn’t ping on anyone’s radar. I’ll see if I can drum up some traffic to help test.

Just so I’m clear, the expected user-level benefits to this change are:

  • Allows Native install on os-tree-based distros
  • Allows for Flatpak creation (theoretically)
  • Supports rpm-based distros in a PMS containers (currently only deb files work in containers)

Am I missing anything or mistaken about anything?

I’m about to test the file and I’ll let you know for at least part of the case.


You specifically mention that there’s better transcoding support with methods other than Fedora Native, but I haven’t seen anything that would actually suggest that. Do you have insight you can pass on on that topic?
From my experience, the Docker method is an incredibly brittle nightmare since it relies not only on the NVIDIA drivers like a native installation does, but also on an custom NVIDIA container run-time that’s independently updated, and on a rapidly changing set of container configuration options to set it to appear properly inside the container. Everything I’m seeing strongly suggests a native install on dedicated hardware is a far better solution if it’s available.
For Ubuntu/Debian comparison I haven’t heard much. If anything, the NVIDIA drivers seem to be better supported on Fedora in the last year and a half than on Ubuntu/Debian in general. Do you see something different?

Native support

On Ubuntu/Debian platforms

  1. Hardware tone mapping support for KabyLake (-7xxx) and above CPUs
  2. Hardware transcoding support for CometLake (-10xxx) and above CPUs
  3. Hardware transcoding for Intel -2xxx → -9xxx CPUs is included with PMS.

RPM distros :

  1. Hardware transcoding for Intel -2xxx → -9xxx CPUs is included with PMS.
    (unless something has changed in the past year at the distro level)

Please be careful with the use of “Container”

Linux Containers (LXC)

  1. is the virtualized OS content (full).
  2. relies on the kernel (as do all container)
  3. maps external directories/resources into the namespace as all containers do.
  4. typically is only 200-300 MB of disk usage for the entire container
  5. can be updated & added to like any full OS installation
  6. installing an application like Plex works as a native package installation.

I use LXC over Docker because it’s a (paraphrasing) “ultra-lightweight VM without the overhead of a VM”. I don’t suffer the typical type 1/type 2 virtualization problems because I’m still using the native host kernel – just in a different kernel namespace.

Below are my LXCs. Each things its a peer on my LAN just as if it were a VM.

[chuck@glockner ~.2000]$ lxc list
+---------------+---------+---------------------+--------------------------------------------+-----------+-----------+
|     NAME      |  STATE  |        IPV4         |                    IPV6                    |   TYPE    | SNAPSHOTS |
+---------------+---------+---------------------+--------------------------------------------+-----------+-----------+
| homebridge    | RUNNING | 192.168.0.85 (eth0) | 2601:985:500:360:216:3eff:feb9:2726 (eth0) | CONTAINER | 0         |
+---------------+---------+---------------------+--------------------------------------------+-----------+-----------+
| librenms      | RUNNING | 192.168.0.84 (eth0) | 2601:985:500:360:216:3eff:fed1:be2a (eth0) | CONTAINER | 1         |
+---------------+---------+---------------------+--------------------------------------------+-----------+-----------+
| lxd-dashboard | RUNNING | 192.168.0.80 (eth0) | 2601:985:500:360:216:3eff:fe2a:4752 (eth0) | CONTAINER | 2         |
+---------------+---------+---------------------+--------------------------------------------+-----------+-----------+
| media         | RUNNING | 192.168.0.81 (eth0) | 2601:985:500:360:216:3eff:fe84:91e6 (eth0) | CONTAINER | 2         |
+---------------+---------+---------------------+--------------------------------------------+-----------+-----------+
| plex          | RUNNING | 192.168.0.82 (eth0) | 2601:985:500:360:216:3eff:fe4d:cfa3 (eth0) | CONTAINER | 0         |
+---------------+---------+---------------------+--------------------------------------------+-----------+-----------+
[chuck@glockner ~.2001]$

Docker

  1. Yes, it’s brittle.
  2. It’s intended for smaller, self-contained, applications --NOT something like PMS
  3. If you build it right, Yes, you can get PMS and the Beignet+OpenCL libraries in it and make it work :wink:

Nvidia support

Nvidia support is rock solid. The drivers are all native packages.
Below is my current Nvidia driver info. I don’t see how Fedora could be “better” ??

[chuck@lizum ~.2005]$ nvidia-smi
Wed May 25 15:46:12 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.73.05    Driver Version: 510.73.05    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro P2200        On   | 00000000:07:00.0 Off |                  N/A |
| 48%   38C    P8     4W /  75W |      1MiB /  5120MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
[chuck@lizum ~.2006]$

Of these -

  1. "Allows Native install " - default and required behavior
  2. “Supports rpm-based distros in a PMS containers” - This would be new functionality for RPM containers as is one of my goals.

I wasn’t aware of those differences, that’s quite interesting. It does seem to be particular to Intel encoding, but still very useful to know.


You’re absolutely right, I forget about LXC often. The unfortunate nature of Snap’s antagonistic relationship with developers and LXD’s insistence on tight coupling with it usually make it a non-starter for most use cases it would be perfect for, but I should look back at regular LXC again.

I’m assuming you’re not actually building Snaps and uploading them to the hardcoded Snapstore Canonical maintains, so presumably you’re building your own LXC containers and running them manually. LXC/LXD don’t have anything equivalent to a Dockerfile, so I’m guessing you just have the usual mishmash of shell scripts. Do you have something you could share on GitHub (or wherever), especially in the realm of how you start said container images?


It’s not that the NVIDIA drivers themselves are better or worse on their own, it’s more about how updated they can be. Fedora has taken a much more proactive approach since the announced deprecation of CentOS (presumably RedHat resources were freed up) on getting up to date and staying up to date with the most recent NVIDIA drivers. Ubuntu/Debian have a more LTS-like approach and as a result NVIDIA updates can/are often held back to avoid incompatibilities with desktop software that isn’t being significantly updated. This means the faster-updated distro is able to more quickly adopt new NVIDIA driver updates that presumably would include efficiency gains as well as newer hardware support.

… but…

As is painfully common with Fedora…

Every 9 months you start over with a new version.

There is no concept of “LTS”.

Pick your poison — a stable system which is a few package versions behind — or — a bleeding edge system which may not boot after the most recent updates are installed (you can’t tell me that’s never happened :stuck_out_tongue: LOL)

LXC setup is like setting up any host except partitions are ‘host directory maps’.
You get the command line base OS by default.

LXD-dashboard does the bulk of the work through the GUI.
You can run lxc via the command line or use the GUI.
Once you start a container, it restarts with the host unless otherwise configured.

You can do clustering with this. It’s extremely powerful for folks like us.

If you wanted to automate setting up multiple containers,

  1. Map a ‘utility’ directory containing all the scripts to be run.
  2. from the command line lxc exec container_name 'command'
  3. command will execute in the container namespace
[chuck@glockner ~.2000]$ lxc exec media date
Wed May 25 18:56:07 EDT 2022
[chuck@glockner ~.2001]$

I tried the rpm, but it’s generating an error return code (1) from the post install scriptlet without any accompanying error message. Looking at the scriptlet, the most likely cause would be the initial check for /tmp/plexinstaller.log missing. Technically it could be an unexpected unhandled script error that caused termination because of the set -e, but that seems unlikely.

Examining the preinstall scriptlet, it still has the systemd check that doesn’t work for systems that install while not running, but since there’s no errors from the preinstall it must be detecting the os-tree distribution as a docker installation. Furthermore, immediately after the docker early exit is a check that confirms Fedora is on exactly version 26, which has been EOL since Jan 2019 and would be guaranteed to cause an error exit.

No output is ever generated from the preinstall, but that makes sense because it appears the set -e is is causing the calls to Output to fail out of the function immediately on the check:

  if [ "$2" = "1" ]; then
    Message="$Message (set in Preferences.xml)"
  fi

when $2 isn’t defined.

From the assumption the tmp file is not present during the postinstall, I believe I saw something about the rpm installer not preserving /tmp anymore and a macro being available for a folder space that replaces it.

So the list of issues:

  • systemd is no longer required, but it’s checked properly for os-tree distros
  • docker container check is catching non-docker distros that weren’t detected as systemd
  • Output isn’t working properly because of set -e
  • /tmp/plexinstaller.log isn’t preserved into postinstall

If you’ve pulled the scripts out of the RPM, be advised – They MUST run as root.

%pre runs – It writes /tmp/plexinstaller.log. If %pre is successful - Nothing is printed. All output goes to /tmp/plexinstaller.log. The console gets a “beginning” & “completed” line.

If there are errors which block continuing, %pre prints a summary.

%post reads the contents of /tmp/plexinstaller.log under script control and makes actual changes.

(%pre = take inventory and validate the inventory ; %post = do the work)

If “$2” isn’t defined, you get NULL.

[chuck@lizum ~.2000]$ test() {
> echo Arg1=\"$1\"
> [ "$2" != "" ] && echo  Arg2=\"$2\"
> }
[chuck@lizum ~.2001]$ test a b
Arg1="a"
Arg2="b"
[chuck@lizum ~.2002]$ test a
Arg1="a"
[chuck@lizum ~.2003]$ 

I will spin up a VM.

Works as advertised on Fedora 35 Workstation

[root@localhost-live output-all]# dnf install plexmediaserver-1.25.0.5263-f0d9679db.x86_64.rpm
Fedora 35 - x86_64                                                                    3.0 MB/s |  79 MB     00:26    
Fedora 35 openh264 (From Cisco) - x86_64                                              6.6 kB/s | 2.5 kB     00:00    
Fedora Modular 35 - x86_64                                                            2.9 MB/s | 3.3 MB     00:01    
Fedora 35 - x86_64 - Updates                                                           23 MB/s |  30 MB     00:01    
Fedora Modular 35 - x86_64 - Updates                                                  1.7 MB/s | 3.1 MB     00:01    
Dependencies resolved.
======================================================================================================================
 Package                      Architecture        Version                             Repository                 Size
======================================================================================================================
Installing:
 plexmediaserver              x86_64              1.25.0.5263-f0d9679db               @commandline               96 M

Transaction Summary
======================================================================================================================
Install  1 Package

Total size: 96 M
Installed size: 204 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                              1/1 
  Running scriptlet: plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 
    PlexMediaServer install: Pre-installation Validation.
    PlexMediaServer install: Pre-installation Validation complete.

  Installing       : plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 
  Running scriptlet: plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 
  PlexMediaServer install: 1.25.0.5263-f0d9679db - Installation starting.
  PlexMediaServer install: 1.25.0.5263-f0d9679db - Installation starting.
  PlexMediaServer install: 
  PlexMediaServer install: Now installing based on:
  PlexMediaServer install:   Installation Type:   New
  PlexMediaServer install:   Process Control:     systemd
  PlexMediaServer install:   Plex User:           plex
  PlexMediaServer install:   Plex Group:          plex
  PlexMediaServer install:   Video Group:         render
  PlexMediaServer install:   Metadata Dir:        /var/lib/plexmediaserver/Library/Application Support
  PlexMediaServer install:   Temp Directory:      /tmp 
  PlexMediaServer install:   Lang Encoding:       en_US.UTF-8
  PlexMediaServer install:   Processor:           Intel(R) Core(TM) i7-8809G CPU @ 3.10GHz
  PlexMediaServer install:   Intel i915 Hardware: Not found
  PlexMediaServer install:   Nvidia GPU card:     Not Found
  PlexMediaServer install: Completing final configuration.
Created symlink /etc/systemd/system/multi-user.target.wants/plexmediaserver.service → /usr/lib/systemd/system/plexmediaserver.service.
  PlexMediaServer install: 1.25.0.5263-f0d9679db - Installation successful.  Errors: 0, Warnings: 0

  Verifying        : plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 

Installed:
  plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                                        

Complete!
[root@localhost-live output-all]# uname -a
Linux localhost-live.telfs.tech 5.14.10-300.fc35.x86_64 #1 SMP Thu Oct 7 20:48:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost-live output-all]# 
[chuck@lizum git.2018]$ vi chuck.txt 
[chuck@lizum git.2019]$ cat chuck.txt
[root@localhost-live output-all]# dnf install plexmediaserver-1.25.0.5263-f0d9679db.x86_64.rpm
Fedora 35 - x86_64                                                                    3.0 MB/s |  79 MB     00:26    
Fedora 35 openh264 (From Cisco) - x86_64                                              6.6 kB/s | 2.5 kB     00:00    
Fedora Modular 35 - x86_64                                                            2.9 MB/s | 3.3 MB     00:01    
Fedora 35 - x86_64 - Updates                                                           23 MB/s |  30 MB     00:01    
Fedora Modular 35 - x86_64 - Updates                                                  1.7 MB/s | 3.1 MB     00:01    
Dependencies resolved.
======================================================================================================================
 Package                      Architecture        Version                             Repository                 Size
======================================================================================================================
Installing:
 plexmediaserver              x86_64              1.25.0.5263-f0d9679db               @commandline               96 M

Transaction Summary
======================================================================================================================
Install  1 Package

Total size: 96 M
Installed size: 204 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                              1/1 
  Running scriptlet: plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 
    PlexMediaServer install: Pre-installation Validation.
    PlexMediaServer install: Pre-installation Validation complete.

  Installing       : plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 
  Running scriptlet: plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 
  PlexMediaServer install: 1.25.0.5263-f0d9679db - Installation starting.
  PlexMediaServer install: 1.25.0.5263-f0d9679db - Installation starting.
  PlexMediaServer install: 
  PlexMediaServer install: Now installing based on:
  PlexMediaServer install:   Installation Type:   New
  PlexMediaServer install:   Process Control:     systemd
  PlexMediaServer install:   Plex User:           plex
  PlexMediaServer install:   Plex Group:          plex
  PlexMediaServer install:   Video Group:         render
  PlexMediaServer install:   Metadata Dir:        /var/lib/plexmediaserver/Library/Application Support
  PlexMediaServer install:   Temp Directory:      /tmp 
  PlexMediaServer install:   Lang Encoding:       en_US.UTF-8
  PlexMediaServer install:   Processor:           Intel(R) Core(TM) i7-8809G CPU @ 3.10GHz
  PlexMediaServer install:   Intel i915 Hardware: Not found
  PlexMediaServer install:   Nvidia GPU card:     Not Found
  PlexMediaServer install: Completing final configuration.
Created symlink /etc/systemd/system/multi-user.target.wants/plexmediaserver.service → /usr/lib/systemd/system/plexmediaserver.service.
  PlexMediaServer install: 1.25.0.5263-f0d9679db - Installation successful.  Errors: 0, Warnings: 0

  Verifying        : plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                 1/1 

Installed:
  plexmediaserver-1.25.0.5263-f0d9679db.x86_64                                                                        

Complete!
[root@localhost-live output-all]# uname -a
Linux localhost 5.14.10-300.fc35.x86_64 #1 SMP Thu Oct 7 20:48:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost-live output-all]# 
[chuck@lizum git.2020]$

Plexinstaller.log (output of %pre)

================================
[root@localhost-live output-all]# cat /tmp/plexinstaller.log 
# Plex Media Server installation configuration info:  Thu May 26 01:59:00 AM EDT 2022
Systemd=1
Custom=0
LinuxContainer=0
NewInstall=1
HaveOverride=0
OverrideFile=""
PlexUser="plex"
PlexGroup="plex"
VideoGroup="render"
AppSuppDir="/var/lib/plexmediaserver/Library/Application Support"
PlexTempDir="/tmp"
LangEncoding="en_US.UTF-8"
ExistingVersion=0
HaveHardware=1
HaveTranscoderPref=0
NeedUser=1
NeedGroup=1
NeedVideo=1
Verbose=1
Running=0
Errors=0
Warnings=0
HaveIntel=1
HaveIntelCore=1
HaveIntelXeon=0
Havei915=0
HaveNvidia=0
CPUSKU=8809
NeedOpenCL=0
NeedBeignet=0
NeedIntelCompute=0
HaveIntelGmmlib=0
HaveIntelIGCCore=0
HaveIntelIGCOpenCL=0
HaveIntelOpenCL=0
HaveIntelOCLoc=
HaveIntelZeroGPU=0
HaveIntelCompute=0
HaveBeignet=0
HaveOpenCL=0
Platform="VMware Virtual Platform"
Processor="Intel(R) Core(TM) i7-8809G CPU @ 3.10GHz"
Distro="Fedora Linux 35 (Workstation Edition)"
Kernel="Linux localhost-live 5.14.10-300.fc35.x86_64 #1 SMP Thu Oct 7 20:48:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
Memory="7939 1773 4540"
[root@localhost-live output-all]# 

When I run the install, I’m getting absolutely no console output at all from either %pre or %post, but I do get an exit code 1 during %post which causes it to halt the install.

I’m not trying to run either of the scripts manually, I simply printed them and visually inspected them. The list of issues are based on guesswork from experience scripting and the little bit of info (or lack of it) produced by the attempted install of the rpm.

If I’m not mistaken, the set -e command causes an immediate exit of a script if either an undefined variable is accessed, or a non-zero exit code occurs and isn’t part of an if or while statement. I believe it’s also inherited by subshells once set.
Assuming that’s accurate, the set -e in the early part of the %pre and %post will get inherited by the subshells the Output function invokes when called, and when it tries to access the undefined variable $2 it will immediately exit. The way to avoid that is to verify $2 exists before using it, usually with a if [ $# -ge 2 ].

I suspect the error check in the %post that verifies the presence of the /tmp file is the cause of my exit code 1 error status, but that’s only an assumption based on the fact that the only other cases that exit with code 1 would have console output first and I don’t have any.

Are you running it on Fedora 35 workstation as root ?

How did it get past the check in %pre that looks for the $Distribution and $Version tuple to match exactly (“fedora”, “27”) or a non-Fedora distribution?

I’m sorry? Show me?

I was running it in Fedora Silverblue 36, which is the os-tree spin of Fedora 36.

Just to make 100% certain you have a valid file, this is fresh upload to my gdrive

It’s what I just used in the VM.