Easy shortcut for installing newer versions of packages?

This forum is dedicated to basic help and support :

Ask here your questions about basic installation and usage of Mageia. For example you may post here all your questions about getting Mageia isos and installing it, configuring your printer, using your word processor etc.

Try to ask your questions in the right sub-forum with as much details as you can gather. the more precise the question will be, the more likely you are to get a useful answer

Easy shortcut for installing newer versions of packages?

Postby varrin » Jan 1st, '18, 20:55

I'm probably committing a faux pa here in even asking this question, but I've run into the same problem on several occasions (and again today) and have yet to find a convenient solution.

Scenario: I have MGAX installed (could be the current or a previous release) which has a RPM for a package I want to install. For some reason, I want a newer version of that same software. There are several possibilities:

1: There is a suitable MGA RPM from a future version (the latest or cauldron). In this case, installing the subsequent version would use MGA repos to update dependencies. However, frequently (especially with older versions of MGA), the dependencies are newer and the number of required updates can be significant (a big step towards a whole release update, for example). This creates two problems: first, without the newer-release MGA repos enabled, the install fails due to unsatisfied dependencies. Second, enabling the newer repos may trigger a significant number of packages to install and I'm not confident that won't break something.

2: There isn't a suitable MGA RPM (not the right version or something), but there is an RPM from another distro. I've occasionally tried to force those to work, but it's always a hassle (figure out what's missing, install MGA RPMs containing the missing bits...).

3: There isn't a suitable RPM at all. The decision is simpler: install some other way or don't use the new version.

It seems in the first and maybe even second cases, there should be simpler ways to get the newer versions working. I'm not aware of such shortcuts, though. Am I missing something, or is it always necessary to do things 'the hard way'? Specifically, when software packages are updating, it seems like the versions of their require dependencies are generally set to the then-current versions that the software is tested for. Wouldn't it make more sense to use the earliest version numbers with which the software is compatible? That would enable much easier packaging for older systems?

Just to illustrate using the current case, I have a MGA6 system and a MGA5 system. Both have openttd but the MGA6 version is newer. To use the same server, the versions need to match, but installing the MGA6 version on MGA5 isn't trivial (enabling the MGA6 repos results in hundreds of dependencies). I have a hard time imagining that the new version actually requires all that commotion (it can certainly be compiled for MGA5). How difficult is it to make an automated process for packaging up new software versions against older releases?

Sorry for the rambling. If this already exists, I'd love to hear about it. If it can't exist for some reason, feel free to just say so.

Thanks!

V-
varrin
 
Posts: 64
Joined: Nov 20th, '11, 03:12

Re: Easy shortcut for installing newer versions of packages?

Postby doktor5000 » Jan 1st, '18, 23:42

varrin wrote:How difficult is it to make an automated process for packaging up new software versions against older releases?

Well if it would be easy then all packages would automatically be built for older releases by that automated process.

And basically your bullets are all the same, it doesn't matter whether you take the newer version from a newer mga release or from another distro. That software still expects the matching library versions which are probably required in newer versions than what you have installed. So you can bite the bullet and install all the library versions from that newer mga release or from another distro but you will end up with a system which is not in a consistent state and which will probably also affect all the other applications that you have installed.

Basically there are two choices:
- rebuild the newer package yourself against your currently installed packages, although you will also need to rebuild any newer dependencies too
- install via some system which takes take about the dependencies and/or which is self-contained (i.e. which does not affect your mga system libraries).
There's e.g. flatpak or on the other hand some projects offer downloads which include statically linked versions of libraries, e.g. Firefox/Thunderbird binaries from Mozilla would be one example.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 18054
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Easy shortcut for installing newer versions of packages?

Postby varrin » Jan 2nd, '18, 09:58

Thank you for the detailed reply. Unfortunately, that was what I thought might be the case. But now I know...... :)

V-
varrin
 
Posts: 64
Joined: Nov 20th, '11, 03:12

Re: Easy shortcut for installing newer versions of packages?

Postby wintpe » Jan 2nd, '18, 11:55

This is a common problem , and a commonly asked question.

this problem exists across all packaged versions of linux distributions, weather using rpm or dpkg.
its exactly as doktor has already described, a way to mess up the consistency of your operating system,
preventing updates from working in the future.

another way is as redhat software collections has done, and libreoffice, and many other linux apps that are made to be installed on
a wide range of distributions. Again Doktor has hinted at this already, but im just adding that for many years /opt
has been seen as the location to install self contained apps that have little or no dependency on the distributions libraries.

this app you want to install, if you use /opt/appname as a target in the configure --prefix= part of the compile, then you avoid
the potential of messing up the rpm based package installs.
do that for all its dependencies as well, keeping it all in one /opt/appname directory, that either tar the lot up and copy it round your systems, or
better still create an rpm for it, that works on many system.

regards peter
Redhat 6 Certified Engineer (RHCE)
Sometimes my posts will sound short, or snappy, however its realy not my intention to offend, so accept my apologies in advance.
wintpe
 
Posts: 1204
Joined: May 22nd, '11, 17:08
Location: Rayleigh,, Essex , UK

Re: Easy shortcut for installing newer versions of packages?

Postby varrin » Jan 2nd, '18, 18:32

Hmm... That makes me wonder if there would be a handy way to automate such a process? But that sort of idea would be much larger than I could possibly get involved in. Just brainstorming I suppose. Thankfully, this doesn't come up so often that I can't deal with it on a case by case basis when it does. It has been annoying at times, but I've figured out how to get through it each time.

Obviously the easiest solution is to keep the whole system up to date...... :)

V-
varrin
 
Posts: 64
Joined: Nov 20th, '11, 03:12

Re: Easy shortcut for installing newer versions of packages?

Postby doktor5000 » Jan 2nd, '18, 19:13

A handy way to automate which process in particular? Compilation of newer versions for any given software project? Yes, it's called scripting.

If you always want newer versions for arbitrary software take a look at source-based distros like Arch, Gentoo, LFS and so on.
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 18054
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Easy shortcut for installing newer versions of packages?

Postby morgano » Jan 6th, '18, 01:04

Another "universal package" format is Appimage, recent example: we have FreeCAD 0.16 packaged but we can also run 0.17 development version as an Appimage, see viewtopic.php?f=7&t=12200 - i guess the two can even be installed in parallell.

If you have enough disk and RAM, a work around is to install i.e Virtualbox and in a virtual machine install a distro that have the program and version you need.
At home & work Mandriva since 2006, Mageia 2011. Thinkpad T40, T43, T60, T400, T510, Dell M4400, M6300, Acer Aspire 7. Workstation using LVM, LUKS, VirtualBox, BOINC
morgano
 
Posts: 1492
Joined: Jun 15th, '11, 17:51
Location: Kivik, Sweden


Return to Basic support

Who is online

Users browsing this forum: No registered users and 1 guest

cron