0

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.

  • Qt4 is EOL and was removed from Ubuntu in 2019 (2015 upstream announced EOL though Debian & Ubuntu supported it until 15-Mar-2019) ; (see https://discourse.ubuntu.com/t/removing-qt-4-from-ubuntu-before-the-20-04-release/12295). The package if maintained should have been ported to Qt5 (introduced 19-Dec-2012) before now. Also note Qt6 is now where all development is with Qt5 now in maintenance mode though Qt5 EOL hasn't been announced yet, so whatever reason you're wanting a deprecated library for should be corrected asap as it'll only get harder & more of a security risk. – guiverc Jun 05 '22 at 03:25

1 Answers1

0

The consequences of possible dependency conflicts are can make Ubuntu 20.04 unusable unless the aptly named LemonPOS application is uninstalled, so I recommend running an older version of Ubuntu in a virtual machine. That way you can still get free Extended Security Maintenance (ESM) for Ubuntu 14.04 until April, 2024 or Ubuntu 16.04 until April, 2026. ESM extends the period of security maintenance from 5 years to 10 years for LTS versions of Ubuntu 14.04 and later.

In Ubuntu snap packages are standalone packages that are packaged with their dependencies and installed in a separate location, but this method of installing packages only works if a snap package of the application that you want to install exists. I think what you are asking about though is some sort of universal virtual environment that can sandbox any package similar to the way virtualenv creates a virtual environment for installing and running Python packages in Ubuntu. That would be a more logical design for a security-focused Linux distribution like Qubes OS in which applications run in virtual environments by default.

karel
  • 114,770
  • 1
    I may be best off with a VM for many reasons. I could make it a tiny virtual HDD file that I can distribute to any computer where the setup is needed, then just install the VM engine and configure it to communicate with the host-attached printer. – Jussinaattori Jun 05 '22 at 04:26
  • I have ended up with what I call KLutterUbuntu - I decided to start with Kubuntu 14 i386 and after doing a dist-upgrade I was able to install the April 2013 i386 version of LemonPOS, which is the latest build I have been able to find. I then did the CAT thing at that point, everything seemed hokey dokey. I proceeded to do-release-upgrade to 16 at which point it seems that Kubuntu always loses the desktop. I installed lubuntu desktop and upgraded to 18 which seems to work fine. One perk of this being i386 is that it won't have a future release which would break the LemonPOS installation. – Jussinaattori Jun 07 '22 at 02:28
  • Congratulations on finding a successful solution to your problem. I wonder what would happen if you started with Ubuntu 14.04 i386, installed a KDE desktop on it then upgraded to 18.04 and switched the desktop to LXDE. Now your KLutterUbuntu 18.04 is still Ubuntu under the hood and in April 2023 you can enable Extended Security Maintenance (ESM) which would extend the period of security maintenance until April, 2028. – karel Jun 07 '22 at 04:09