-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't install on fedora silverblue #56
Comments
Hey @arouzing, thanks for reporting this. I think the problem is this line: I believe this is similar, possibly a duplicate of safing/portmaster#465. We will look into this. |
Thanks! Silverblue works a bit differently then normal fedora. it may require slightly different packaging in order to get it to work. If you would like I could link you to the information and limitation of packaging for fedora Silverblue. |
I see. Yes, a couple references would definitely be nice. |
https://docs.fedoraproject.org/en-US/fedora-silverblue/troubleshooting/ |
As silver blue is mostly immutable certain most areas can not have dynamic data stored in them. The areas where mutable information is stored is located here |
Thanks for the pointers!
Ah, yes. That would be a problem. But /opt seems to linked to /var/opt now, so maybe this isn't a problem after all. |
Does port-master make changes to /opt over time (I think you answered this before)? Do you think it would be possible to have the package detect silverblue and change directories? |
Yes. All data is there: config, databases, updates, logs.
Maybe. Does silverblue have a special system for this in place? Eg. to query if silverblue is there and ways to interact? But if /opt is really linked to /var/opt, then this shouldn't be a problem, should it? |
I am asking around for some guidelines to see if I can help further! I do have some packages that I have used that store in opt and work, let me link them here: other information: Thanks so much for taking the time to read all this I know you guys are busy! |
I've looked into Tabby and Vagrant a bit and it seems they don't do automatic updates, which I think is causing the trouble here. Another app I know does automatic updates and installs to /opt, is Google Chrome. Don't know if they have support for Silverblue. This is interesting. I haven't yet encountered such a detailed description yet. I can say that we do not fully follow the definitions laid out here. Can you find out how exactly Silverblue handles /opt and /var/opt?
Thanks for the appreciation. It's always nice when someone understands. |
I think I found a Potential fix to the issue. It might be worth trying on a fedora silverblue vm. change the paths and install the compiled rpm with The solution may not even apply in this situation. Maybe I'll see if I can find someone working on the silverblue team to take a look at this project and give some guidance? I noticed they have a community section where you could reach out: |
This issue is caused by https://github.com/safing/portmaster-packaging/blob/0284b11d5f68efca0a108d689d934d88391e2b6d/linux/templates/snippets/post-install.sh#L18..L20
Removing lines mentioned above makes it install with rpm-ostree just fine. I'm not sure if chcon should be in postinstall. Perhaps you could try something like below instead:
|
While |
Would it be alright if I ask how you modified the rpm? Did you recompile or just modify the rpm? If the latter, how did you go about that. Thanks in advance! |
@arouzing I cloned this repo, modified the mentioned lines and ran
Add above to Containerfile then run You will end up with |
@JayDoubleu thankyou very much! |
After a successful install and a reboot, it is however unable to startup. |
I would try getting fedora workstation in gnome boxes and see if it works at all in fedora. Perks of being an early adopter for alpha software ;) |
I have a vm up and running, let me give it a shot. |
I also noticed this :
So you could try running |
That was attempted:
|
Did you run it with sudo ? |
I forgot sudo !! (I feel a bit stupid ) |
Currently hanging here:
|
Update: workstation vm behaves almost the same way. Seems it may have been broken during compile or I / we are using the unstable branch during compile time? |
Looks like it installs into read only part of system |
master |
Would it be possible to revert your fork back to that release? Or shall I make a new fork from that release? |
This wont exactly be a solution. System modificarions should be done with rpms if the package cant run as a flatpak or toolbox. from what @JayDoubleu mentioned the installer from what he could compile put it in the wrong directory via the rpm. If the selinux is fixed (which was with his suggested edit) and the install directory is fixed it may just work out of the box for silverblue. minus requiring manually starting services. Run down of issues: Feel free to correct my statements @JayDoubleu |
I just found this issue since I had experienced the same problem (cf. fedora-silverblue/issue-tracker#317). Since you did a deep investigation of the RPM and the installation process, I thought this could be useful to find a solution. |
Another option would be to change https://github.com/safing/portmaster-packaging/blob/master/linux/templates/snippets/post-install.sh#L18 to check for the presence of |
Flatpak is suggested in Fedora But I tried to install the RPM on Fedora Silverblue today by opening the rpm file in Software and it succeeded in layering the package and networkmanager is installed.
Outside variables , I have FirewallD installed and this was in X11 windowing not wayland. |
Really! How does one go about this manual home dir install? |
Just follow official guide - https://docs.safing.io/portmaster/install/linux#manual-install-and-launching and change all directories in commands to some folder in your home dir instead Also remove sudo from command lines, it's needed only for SELinux If you want autostart via systemd you need create portmaster.service according to manual install guide and change dirs to your new home location. The point is, that you only need to alter dir paths to point your location instead of /opt I have everything in here |
Okay thanks so much, I got it working but there are some problems to mention:
|
|
@Pryka Oh right I missed the step to create the service as I didn't copy the full instructions. Tried to do it now but when I get to the command:
It seems like Silverblue stores the systemd files in a different spot but this is what happens when I try use that spot:
anyway I'll restart now and see if the /etc/systemd/system/portmaster.service does work. [It didn't] @Pryka how did you manage this? |
Anyone else know how I can solve this? |
You could try try: sudo cp /var/home/D24/Desktop/portmaster/portmaster.service /etc/systemd/system/ |
Yeah that's what I did originally as the website instructs, and that landed me at the error I mentioned:
Just now, I've also edited the paths in the portmaster.service file to match my paths so far as I can find. But same error |
Hey everyone, I wrote a script that installs Portmaster to I recommend testing it in a VM first, and only running it if you understand what each part does. Script: https://gist.github.com/WinkelCode/dffeb181a4c7903cbc463169324f61b8 Right now the main shortcomings are:
|
As anyone tried repackaging the RPM content without the scripts so that it installs via rpm-ostree? |
Ooo exciting, and I've recently rebased to Kionite. Do you think the script will solve the error I had before? (Posted above) |
With my script (unrelated to the .rpm) I ran into issues where systemd would return vague "this service does not exist" errors. In my case it was because it acts weird when symlinking in units from different filesystems. However that shouldn't be the issue in your case. I wonder if you maybe missed a path or it's a permissions thing, since it came from your home directory? Try my command:
Make sure that the target path doesn't have a trailing slash, there is a spot in the file where it is written without it. Edit: Fixed text errors Edit 2: More text fixes (I just woke up lol) |
Given my script works great (at least on my test system), I've been thinking about just writing an .rpm package from scratch. I've done exactly this for Silverblue/Kinoite before. Looks like they use some type of universal Linux package generator right now, which seems like a weird decision given how simple this package really is (most of the heavy lifting is done by the built-in updater). I might take a look and see if I can finally make it properly patch the paths on ostree distros. |
Is Flatpak possible? Since Silverblue and Kionite are designed to use flatpak? |
At what point of the process must I use your command? But it doesn't autostart at boot, since I couldn't do step to create the systemd service as I get this error:
|
Ohh, I see now. Copy portmaster.service into My command is run against the unmodified .service file, it just replaces all the paths automatically. If you've already done it manually, there is no problem. |
Yeah I did that before (as the website suggests)
Anyway I'll try run your script |
So it installed and launched at boot! now I'm just copying in my preferences and rebooting to test :) :) :) |
Used Your script and it's all working now, thanks many much! :) :) :) |
@WinkelCode any chance you can help with this: StellarSand/Battery-Notifier#1 (comment) |
Pre-Submit Checklist:
What happened: Program failed to install.
After install the prerequisites needed for protmaster and rebooted I downloaded the rpm and run
rpm-ostree install /path/to/rpm
During the installation it failed giving the following error. I understand silver-blue is more edge case scenario. That being said I'm willing to help test an any way possible.
What did you expect to happen?:
The program to install properly.
How did you reproduce it?:
Simply by downloading and installing into fedora silver-blue
Debug Information:
error: Running %post for portmaster: bwrap(/bin/sh): Child process killed by signal 1; run journalctl -t 'rpm-ostree(portmaster.post)' for more information
Portmaster.log
The text was updated successfully, but these errors were encountered: