regolith-linux / regolith-desktop

Meta package for the Regolith Desktop Environment
1.48k stars 31 forks source link

Add Debian Buster spin #32

Open jalfonsi opened 5 years ago

jalfonsi commented 5 years ago

It would be nice to have a pure Debian-based spin with nice customizations, Buster is very soon to be released next month. Also armhf and/or arm64 debian packages would be make easy to create spins for RaspberryPi based on Raspbian and Armbian for SD boards.

kgilmer commented 5 years ago

Hi @jalfonsi and thanks for your feedback! I confess to not having a clue as to how I'd take this on. I searched and found this page, which gives many options but no clear definition of a happy path to achieve the goal. Can you suggest links that clarify the actual preferred approach to having something like Regolith available on Debian? I would also need some equivalent of Cubic to generate the LiveCD installer from packages, but searching doesn't immediately give me many options.

jalfonsi commented 5 years ago

I think actually you would need a service to build debs, I have seen something like opensuse buildservice. Maybe you should ask or join the Bunsenlabs team which provides a Debian derivative based on another WM ( Openbox).

kgilmer commented 5 years ago

I asked on the bunsenlabs forum: https://forums.bunsenlabs.org/viewtopic.php?pid=87487#p87487

jalfonsi commented 5 years ago

I think it's most important that you provide a repo with debs specific to pure Debian Buster (both i686/i686_x64/armhf/arm64) and then let users add it to the sources list in their own installation.

kgilmer commented 5 years ago

the Bunsen Labs forum was a great suggestion @jalfonsi . I have a rough idea of what needs to be done.

kgilmer commented 5 years ago

61 needs to be complete before starting on this.

leosunmo commented 4 years ago

I think after moving to a CI system that builds packages we could probably more easily create releases for multiple distros.

iwalton3 commented 4 years ago

For anyone looking for a workaround, I was able to get regolith working on Debian Buster with these commands, although I have not fully tested that everything is working.

echo "deb http://ppa.launchpad.net/kgilmer/regolith-stable/ubuntu disco main" > /etc/apt/sources.list.d/regolith.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 76458020C35556DC
apt update
apt install devscripts build-essential cdbs libxcb1-dev gperf pkg-config xutils-dev
wget http://archive.ubuntu.com/ubuntu/pool/main/x/xcb-util/xcb-util_0.4.0.orig.tar.gz
wget http://archive.ubuntu.com/ubuntu/pool/main/x/xcb-util/xcb-util_0.4.0-0ubuntu3.debian.tar.xz
tar -xvf xcb-util_0.4.0.orig.tar.gz
cd xcb-util-0.4.0
tar -xvf ../xcb-util_0.4.0-0ubuntu3.debian.tar.xz
dpkg-buildpackage -b
cd ..
apt install ./libxcb-util1_0.4.0-0ubuntu3_amd64.deb
apt install compton fonts-font-awesome fonts-source-code-pro-ttf gnome-control-center gnome-flashback gnome-screensaver gnome-settings-daemon i3-gaps-wm i3xrocks nautilus nordic paper-icon-theme regolith-assets regolith-compton-config regolith-conky-config regolith-gnome-flashback regolith-i3-gaps-config regolith-i3xrocks-config regolith-rofi-config regolith-st regolith-styles regolith-xeventbind rofi software-properties-gtk unclutter-xfixes xeventbind xrescat
kgilmer commented 4 years ago

Wow, that's fantastic @iwalton3 ! That's a big help, thanks!

ploum commented 4 years ago

if I read correctly @iwalton3 comment, the only "missing" package on debian is xcb-util1 0.4 while debian has only xcb-util0 0.3.

I don't know anything about X programming but I find it strange as the xcb-util1 0.4 has been released since 2014 and has been packaged in Ubuntu since at least Xenial 16.04.

It's very intriguing: why has Debian never bothered to upgrade libxcb-util?

But, in the meantime, I think that the it would be interesting to know what are the main difference between both libraries.

In regolith, the only custom package that depends of libxcb-util1 is i3-gaps-wm. @kgilmer : you could maybe change the package to have a (libxcb-util1|libxcb-util0) dependancy so @iwalton3 could test (I assume they provide the same binaries).

From what I've investigated, everything else should work (rofi also depends on libxcb-util1 in Ubuntu but the exact same version seems to work with libxcb-util0 in Debian).

iwalton3 commented 4 years ago

@ploum i3-gaps-wm does not work with libxcb-util0. Prior to building the package from source, I attempted to make a package that depended on libxcb-util0 and provided libxcb-util1 as a virtual package. The window manager would not load at all with that setup, so I had to compile libxcb-util1 from source.

ploum commented 4 years ago

Thanks for testing this. So the question is wheter i3-gaps-wm really depends on something new in xcb-util 0.4 or if it's just a compilation thing (as i3 is in Debian, I would think it's the later).

Anyway, IĀ believe the real way of fixing this is having xcb-util 0.4 packaged in Debian. The good news is that my tweet about the issue connected me with the Debian maintainer. The issue is known and was acknowledged today in https://tracker.debian.org/pkg/xcb-util so I guess we can expect things to move.

kgilmer commented 4 years ago

Relevant: https://wiki.debian.org/CreatePackageFromPPA

ryanleesipes commented 3 years ago

Any chance we'll see any more movement on this? Unfortunately I wasn't able to just follow the recommended commands from @iwalton3 - but will try to create the package from the PPA. Regardless, I think many Debian and debian-based distro users would love to be able to try Regolith!

kgilmer commented 3 years ago

Hi @ryanleesipes I can't promise anything but there may be some news on this front soon. I'll update this ticket if and when we have something to announce. Would you be wanting to install Regolith/Debian via an installer or install the Regolith desktop into an existing Debian instance?

ryanleesipes commented 3 years ago

My personal use case is an existing Debian installation.

semanticdreamer commented 3 years ago

+1 for existing Debian install

haruanm commented 3 years ago

I would love to try it here on my existing Debian install too, is there something that I can help with?

haruanm commented 3 years ago

ps: couldn't make the i3-gaps-wm work from the package on Debian bullseye, I was already using a compiled version of https://github.com/Airblader/i3 in the master branch with my i3 here, but when I install it trough package I lose the i3 and I have this error when trying to open regolith: WhatsApp Image 2020-10-02 at 11 25 05

Could you say from which source should I generate the i3-gaps-wm package to test?

kgilmer commented 3 years ago

@haruanm the source for i3-gaps is here: https://github.com/Airblader/i3, which is the same thing you have. The i3-gaps that is packages with Regolith is the same as the i3-gaps repo.

allumik commented 3 years ago

@iwalton3 Thanks for the script, it worked like a charm.

Still, I got used to the Regolith 1.5 on my ubuntu install and tried to modify your script to install the latest release on debian 10.7. It is working like a charm so far.

I don't know which ubuntu distro to go with here, took bionic as it should predate buster easily. Also the xcb-util install might not be needed anymore, left that in just to be sure.

echo "deb http://ppa.launchpad.net/regolith-linux/release/ubuntu bionic main" > /etc/apt/sources.list.d/regolith.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EFC31B0AE9F1000B38E37FC8C0930F305A0E0FEF
apt update
apt install devscripts build-essential cdbs libxcb1-dev gperf pkg-config xutils-dev
# create setup folder
mkdir rego-setup && cd rego-setup/
wget http://archive.ubuntu.com/ubuntu/pool/main/x/xcb-util/xcb-util_0.4.0.orig.tar.gz
wget http://archive.ubuntu.com/ubuntu/pool/main/x/xcb-util/xcb-util_0.4.0-0ubuntu3.debian.tar.xz
tar -xvf xcb-util_0.4.0.orig.tar.gz
cd xcb-util-0.4.0
tar -xvf ../xcb-util_0.4.0-0ubuntu3.debian.tar.xz
dpkg-buildpackage -b
cd ..
apt install ./libxcb-util1_0.4.0-0ubuntu3_amd64.deb
# remove the install folder
cd .. && rm -R rego-setup
apt install regolith-desktop-standard
kgilmer commented 3 years ago

A bit of progress..

VirtualBox_debian-buster test_14_02_2021_21_54_42

fredericve commented 3 years ago

@kgilmer any way I can help test your progress? I did the procedure above and it works, but I'd like to help out.

kgilmer commented 3 years ago

Hi @fredericve thanks for the offer! Yes very soon if you are able to, there will be something available for testing. I have sort of cleared the "proof of concept" phase of development and am now getting everything cleaned up and simplified for general use in Regolith 2.0. I will update this thread when it stabilizes to a sufficient degree that I would not be wasting your time. :smile:

gojirrrra commented 3 years ago

Hi @fredericve thanks for the offer! Yes very soon if you are able to, there will be something available for testing. I have sort of cleared the "proof of concept" phase of development and am now getting everything cleaned up and simplified for general use in Regolith 2.0. I will update this thread when it stabilizes to a sufficient degree that I would not be wasting your time. šŸ˜„

Thats good to hear, would open the possebility for a more easy setup on raspberry pi 2/3. Good job.

kgilmer commented 2 years ago

Progress has been slower than I'd estimated. But progress continues...

VirtualBox_bullseye-test_19_08_2021_20_51_39

fredericve commented 2 years ago

I suppose the progress is in the debian/bullseye branch? Can I already start testing that one?

kgilmer commented 2 years ago

Regolith 2.0 on Debian is a work in progress. It's basically functional at this point, but there are still big changes ahead before 2.0 becomes stable so I do not recommend using it for anything other than testing. But, yes testing would be fantastic! You can install directly into an existing buster or bullseye system using the new package repo: https://github.com/regolith-linux/package-repo See the readme for installation details.

sukulent commented 2 years ago

Hello, I have been using Regolith on Debian Buster for some time now, I added the ubuntu ppa and just for the regolith installation I also added official ubuntu repositories because of dependencies, which I removed after I got regolith. Yeah, really not pretty solution lmao. You might remember me from some questions I had on slack a while back.

Now, I want to upgrade from Buster to Bullseye, I want newer versions of packages and debian is very anoying in this regard. Of course, apt full-upgrade wants to remove regolith and everything, so, I am asking, how stable is the debian version? Should I proceed with the upgrade and than come with a way to get regolith back or should I try the debian version now on buster or should I just wait a bit for the release? Thanks, regolith is awesome :)

semanticdreamer commented 2 years ago

@sukulent have you seen the Bullseye apt src?

https://github.com/regolith-linux/package-repo#debian---bullseye---amd64

You could give this a try, by means of editing/ adopting your existing apt config and then updatingā€¦

kgilmer commented 2 years ago

@sukulent:

how stable is the debian version?

It should be considered "pre alpha". If you are asking about what to install on a system you need to use, I would not yet use Regolith 2.0. Major changes are in store and I cannot guarantee that the package repositories will always contain valid configurations. If you install from the 2.0 debian repo and you like what is there, you may want to just pin the repo in apt so you can manage package updates.

sukulent commented 2 years ago

Thanks for the info, I'll wait for more release-ready version as this is my main computer and I would not like it to be in an unusable state. I'm looking forward to the release!

fredericve commented 2 years ago

So, I created btrfs snapshots of my filesystems and took the plunge. I changed to the 2.0 package repo's on my debian buster install and installed the regolith-desktop package. I had to deal a bit with broken dependencies because of manual package installs in the past, but in the end it seems to work fine on my system.

From user perspective though the keybindings seem to have changed. The configuration file that used to come with the regolith-i3-gaps-config package is not available in the 2.0 repo's. Is this something that can be added? Should I create an issue for this somewhere?

Most importantly, I'm missing the application launcher keybinding :-)

fredericve commented 2 years ago

Actually, I was just missing the regolith-i3-rofi package it seems! Everything works perfectly right now,

kgilmer commented 2 years ago

Thanks for the update @fredericve . I am wondering why regolith-i3-rofi didn't get installed...did you have problems when installing regolith-desktop?

Expect some changes coming soon to the launcher! You may want to pin the Regolith packages to prevent unexpected surprises. If you file bugs (please file bugs if you find problems) be sure to mention you're on Debian and Regolith 2.0.

thanks! ken

fredericve commented 2 years ago

@kgilmer yeah I had some broken packages while upgrading and had to manually do some apt and dpkg changes to fix it. The broken packages were to be expected since I installed some of them from the ubuntu ppa's and also built some myself as per instructions above.

It seems regolith-i3-rofi is a Recommends: dependency. This does not guarantee that the package will be installed. If it always needs to be installed a Depends: dependency is better.

I have automated btrfs snapshots when running apt upgrades so I won't pin anything. Maybe I'll catch a bug, maybe I won't :-)

kgilmer commented 2 years ago

Interesting, I hadn't known about the btrfs snapshot feature, that does sound useful. Yes, most Regolith package dependencies are recommends to provide flexibility for hacking and advanced users. It's my understanding that by default apt will install recommends dependencies unless you specify not to. Are you aware of exceptions to this?

fredericve commented 2 years ago

No, that looks correct. People could configure apt to not install recommended packages by default.

Anyway, I looked back at my bash history just now and looks like I ran this:

dpkg -P regolith-styles regolith-rofi-config regolith-look-lascaille regolith-look-dracula regolith-i3-rofi

So yeah, entirely my own error, don't read into it :-D