I've been trying to pass an old application (actually it's LemonPOS) over through release upgrades. I have found that it still is available in repositories of Lubuntu and Kubuntu as far back as 14.04, and as recently as 18.04 - but then I have run out of luck. I know this program is worth its name in many senses - it is a lemon and it is a POS as it seems, as far as it goes for trying to install it in a modern distribution of Ubuntu derivatives. It requires old KDE4 libraries that are getting scarce in supported distribution repos.
If I install it from the repo in 14.04, I have to install the MySQL server (which is 5.5) and then I can do the cat phrase to create the database. At least for Kubuntu, doing this in a later release like 16.04 does not work - I have checked that the script files appear to be the same, but the newer MySQL (5.7) nags about syntax. Sorry, I'm not very familiar with SQL. Not yet, maybe I am after I get this sorted out.
Anyways, if I install LemonPOS in 14.04, do the MySQL and CAT things, it works. Then I can upgrade releases up to 18.04 and it is still there. After that point...
- for Lubuntu, it has been said that upgrading from an older version to 20.04 will likely produce a broken system. I'm yet to try, but then I have a project computer at my disposal and I can try what I want, only it takes time.
- for Kubuntu, the upgrade seems to work but the installation of LemonPOS will be broken, as the program named LEMON will be replaced with something else. I have found that this is a known conflict but it has traditionally been avoidable because the two packages seldom have to be in the same installation of Ubuntu.
So, I have been interested in downloading the components without installing, and apt-get seems to do this finely with --download-only. Although, it downloads a lot of stuff that LemonPOS is highly unlikely to actually need. The problem arising from this is that if I produce a "package" this way. installing it with dpkg will then try to install everything from these packages, even if not really needed, and in the process it replaces newer system components with older ones and eventually fails.
The core question is, can this be done so that newer packages in the system are not getting downgraded? Or, is it possible to designate LemonPOS (or any other application for that matter) a separate installation folder that harbors its dependencies so that the rest of the system can have its own modern libraries? OR, am I perhaps best off making a virtual machine that runs this old distribution with LemonPOS? I bet I could make Oracle VM print through IP.