Thank you for your donation!


Problem: Use non Raspbian repos for certain packages
#1
Coming from Arch Linux, I'm used to having all my packages at their latest and greatest versions. Now, when using MoOdeaudio and since it's based upon Raspbian, Some of my packages I use for ssh-ing are not updated to their latest upstream version. Notably:
  • Neovim:
    1. Current version in Raspbian's repos: 0.3.4,
    2. Upstream's version: 0.4.3
  • Tmux:
    1. Current version in Raspbian's repos: 2.8
    2. Upstream's version: 3.0

I know I can build just the two of these from source and get away with that, but I can imagine myself in need of latest versions of other packages which will not be available in Raspbian's repos (very typical to Debian distros  Dodgy ...).

I read over at Raspberry's Forums - https://www.raspberrypi.org/forums/viewt...p?t=168771 that it should be possible to add Debian repos to apt sources list, but this introduces a risk of breaking the OS. I can imagine that as I'm rather experienced with these kind of stuff, after changing distros a lot.

I'm wondering what risks would be specific to moOdeAudio's OS. I can imagine that keeping the kernel's update channel is important, and perhaps MPD as well? I can imagine it's possible to tell apt (which is used by moOde's updater I assume) to use Raspbian's repos to update the kernel but I'm not sure how to do that. I also wonder if there are any other risks or issues I might want to overcome in advance..

Thanks for any advice.
Reply
#2
If you want to tinker with the build then have a look at the manual and automated build recipes.
https://github.com/moode-player/mosbuild
https://github.com/moode-player/moode/tr...ther/build

Generally its best to leave a release as-is for stability and reliability and because there are dependencies in the code base for things like specific PHP version, existence and format of many conf files, etc. that can potentially be broken by package upgrades. YMMV

If you think certain upstream packages or other changes would be useful then post back and I'll have a look.

-Tim
Reply
#3
@doronbehar

I like this answer from the RaspberryPi forum thread you cited

Quote:Best way to find out is to change the Sources and see what happens Wink


Seriously, though, if you read through that thread you understand what the risks are and if you're an Arch Linux veteran then you know what to do when things go south. (true confession: I've never used Arch Linux but I use information from the ArchWiki!)

My experience has been that you can load up a moOde installation with all kinds of "foreign" software and experience no problems...until that time when unexpectedly you do!

One trick is to build from sources and instead of directly installing the result, first use checkinstall to create a package. You can then install/uninstall the package at will. Pretty cool!

You'll have to install the checkinstall package first, but it's in the Raspbian repo. Caveat: I don't claim to be an expert at this process, having used it only a few times.


Regards,
Kent
Reply
#4
(03-07-2020, 02:12 PM)Tim Curtis Wrote: If you want to tinker with the build then have a look at the manual and automated build recipes.
https://github.com/moode-player/mosbuild
https://github.com/moode-player/moode/tr...ther/build

Generally its best to leave a release as-is for stability and reliability and because there are dependencies in the code base for things like specific PHP version, existence and format of many conf files, etc. that can potentially be broken by package upgrades. YMMV

If you think certain upstream packages or other changes would be useful then post back and I'll have a look.

-Tim

I can't imagine any change which would solve this packages versions issue other then changing a Distro upon which the project is built upon. Would you be willing to consider such a change? Arch Linux's repos using latest versions is rather satisfying, though it's risky at the same time so I'm not sure myself it would be a good decision. On the other hand, as a NixOS user, I can testify that Nix' reproducibility could be perfect for this kind of project, while it should be easy for example to customize packages / environments such as MPD or PHP. Unfortuneatly, NixOS is not ready for Raspberry Pi enough, see https://github.com/NixOS/nixpkgs/issues/67792

Whatever distro you'll choose Tim, your implementation of a Raspberry pi player & System / OS is the best I've encountered so far Smile.

In the meantime I've adjusted my Tmux and Neovim configs to be compatible with the current older versions.
Reply
#5
(03-07-2020, 03:08 PM)TheOldPresbyope Wrote: My experience has been that you can load up a moOde installation with all kinds of "foreign" software and experience no problems...until that time when unexpectedly you do!

Yea... That's why I stopped using Arch Linux and moved to NixOS - for the sake of reproducibility and stability. Just today, in the attempt to clean up a little bit my system after some build experiments of neovim, I ran `apt autoremove` and had MPD failing to start with a message saying it can't find `libshout.so`. I fixed that easily but this is exactly what can't happen in NixOS - all system packages' are installed decoratively.
Reply
#6
(03-07-2020, 03:43 PM)doronbehar Wrote:
(03-07-2020, 02:12 PM)Tim Curtis Wrote: If you want to tinker with the build then have a look at the manual and automated build recipes.
https://github.com/moode-player/mosbuild
https://github.com/moode-player/moode/tr...ther/build

Generally its best to leave a release as-is for stability and reliability and because there are dependencies in the code base for things like specific PHP version, existence and format of many conf files, etc. that can potentially be broken by package upgrades. YMMV

If you think certain upstream packages or other changes would be useful then post back and I'll have a look.

-Tim

I can't imagine any change which would solve this packages versions issue other then changing a Distro upon which the project is built upon. Would you be willing to consider such a change? Arch Linux's repos using latest versions is rather satisfying, though it's risky at the same time so I'm not sure myself it would be a good decision. On the other hand, as a NixOS user, I can testify that Nix' reproducibility could be perfect for this kind of project, while it should be easy for example to customize packages / environments such as MPD or PHP. Unfortuneatly, NixOS is not ready for Raspberry Pi enough, see https://github.com/NixOS/nixpkgs/issues/67792

Whatever distro you'll choose Tim, your implementation of a Raspberry pi player & System / OS is the best I've encountered so far Smile.

In the meantime I've adjusted my Tmux and Neovim configs to be compatible with the current older versions.

My experience over the past 5 years working with Raspbian is that it has proven to be a very robust and reliable OS that enjoys the widest selection of packages and 3rd party software, and is supported by a huge team of OS and kernel developers and a massive user base. Pretty much any issue with the OS or kernel eventually gets addressed :-)

In any case it would be difficult to convert to a different variant of Linux for moOde because of the dependencies in the moOde code base and administrative processes to Raspbian. 

-Tim
Reply
#7
@doronbehar

Arch Linux's rolling release model is the anti-pattern for what Tim needs.

The biggest asset Raspbian brings to the table is its support of all the Raspberry Pi models, warts and all. As well, the writers of device drivers for the add-on hardware we want write them for Raspbian and their drivers migrate into the Raspbian distros.

Every other distro which has been ported to the Raspberry Pi is playing catchup.

In the time I've been dabbling with moOde, we've had a couple of intrepid souls port it to some other ARM-based SBC running a different distro (one did it on his OrangePi and as an experiment I got much of it working on a CuBox-i) but it was exhausting work and I can't imagine trying to keep the port working as both moOde and the distros moved forward.

Just my 2-cents worth.

Regards,
Kent
Reply
#8
Right, its probably less work for a project like moOde to deal with a point-release OS like Raspbian as opposed to a rolling-release OS like Arch. There are some Pi players that are based on Arch though so it must be OK. I think Rune is based on Arch Linux. There was also Archphile which is now unmaintained since Tuxx went into "gone fishing" mode.
Reply
#9
I see. I guess I have no choice other then make my favorite Distro NixOS the greatest in these terms as well :). My dear thank you for both of you for discussing this with me! :Cheers:.
Reply


Forum Jump: