Ubuntu Enhanced (experimental)
PPA description
See https:/
UPDATE (Oct 2020): The initial idea behind this experimental PPA was to give Xenial users a way to keep their system quite up-to-date with newer software. In the time since this PPA was created (Aug 2019) many other PPAs have been added to this Launchpad site with "proper" backports of almost all the software that the "enhancement" process was to provide. Thus, this PPA is somewhat redundant, though the enhancement to "apt-cache policy" (show the version of a package in numerous different series with one terminal command) is still very useful.
-----START EXPERIMENTAL WARNING-----
This package is related to an experimental project and should be understood as not being necessarily useful (and even potentially quite dangerous, in terms of system stability/
If you know at least some amount about Debian packages, Debian packaging (and manually running apt & dpkg commands, for instance) then you might well see the uses of this project (enhancement to the apt-cache command for instance).
If you know a good amount about Debian packages, Debian packaging and perhaps even write complex combinations of apt and/or dpkg(-deb) commands in arcane Bash scripts AND want a to-your-needs custom-built Xenial-based Ubuntu (sort of) "rolling release" system, then dive on in!
For users whose knowledge (relative Debian/Ubuntu packaging and/or any Linux based distribution packaging) lies in between (or experts with knowledge far beyond) the two above stated broad groups of users: it is up to you if you want to experiment with this package and/or the procedures at the website.
*** The entire responsibility for any system breakage lies with the person(s) who use this package and/or the info/scripts given at the linked website. ***
So it's on you if you break it folks! And if that (perhaps) unfortunately happens, it's also a chance to learn potentially plenty about how to fix it (a big part of this whole process for me, for sure).
*** No warranty given, no liability whatsoever for me, so on, so forth. ***
-----END EXPERIMENTAL WARNING-----
This is a small package that adds the full set of standard repositories for 12 other Ubuntu "series" to the installed system, as well as a small bash script called "apt-all" that allows usage of "sudo apt-get install" commands relative the repositories of any of the 12 other series.
New "<series>
This package was designed and created on a Xenial-based system (Linux Mint 18.1 Serena MATE) with the intention of keeping Serena up-to-date far beyond the Xenial LTS EOL (the original package was called "serena-enhanced" on the test system used for all this work). MATE 1.16 based on GTK2 is great for me (MATE 1.18+ is now GTK3 based), as my consistent preference for more than 30 years of GUI-based computer operating system usage is for a simple, fast, visually uncluttered desktop experience.
Thus, it became important to be able to upgrade Serena (while keeping GTK2 based MATE 1.16) to Bionic-era (and newer) packages. The "ubuntu-enhanced" package in this PPA and this whole project is the result of that intention to make a Serena Enhanced (initially) and then more general Xenial Enhanced "rolling release" installation process.
Having 13 series of packages and package information (specifically Xenial, Bionic, Cosmic, Disco, Eoan, Focal, Groovy, Hirsute, Impish, Jammy, Kinetic, Lunar, and Mantic) available can be very useful in various situations (ie. see the "apt-cache" section below). From ubuntu-enhanced v0.13.0 packages from 13 series are included. Based on the currently installed series the installation process of ubuntu-enhanced will determine the 12 other series to add to the apt/dpkg system (with low pin priority being default) such that one can access packages (and package info) from all 13 series.
*** Scripted pinning -- apt/dpkg ***
The "apt-all" script is key and if you take away the shebang + printargs + comments + whitespace (and compress a couple of commands to easy one-liners) it is about 30 lines of Bash commands.
What "apt-all" does is switch the name (using a ".save" filename extension) on the pin file (in /etc/apt/
There are a few lines of code to monitor for a break signal to (try) ensure the file pinning a series other than that installed ends up with the default filename (ie. "<series>
*** Power failures / why not sed / etc ***
Yes, sed could certainly be used to change the pin priority for the specified other series, but in the event of an entirely unexpected situation (ie. power failure, common in many parts of the world at least) you can end up with the other series still having high priority (on system restart and/or whenever next running an apt-get command).
So by using a simple renaming trick ("everything's a file" -- in this case, a set of files whose names show the toggle state for high pin preference of other series) in the event of power (or other) failure it is easy to see the current status. If any of the 12 "<series>
To fix a situation like this one simply needs to invoke "apt-all" again (no arguments necessary) as it always automatically renames any current hi pins (ie. "<series>
There is also some error handling in "apt-all" relative a critical config file /etc/apt/
*** apt-cache becomes more powerful ***
Even if you never use the "apt-all" script to grab packages from series other than your own, having the additional other repository pref files installed in the /etc/apt/
$ apt-cache policy meld
meld:
Installed: 3.20.4-
Candidate: 3.20.4-
Version table:
3.22.0-1 50
50 http://
50 http://
50 http://
50 http://
50 http://
50 http://
3.20.4-2 50
50 http://
50 http://
*** 3.20.4-2~16.04.sav0 500
500 http://
500 http://
100 /var/lib/
3.20.4-1 50
50 http://
50 http://
3.20.3-1 50
50 http://
50 http://
3.20.2-2 50
50 http://
50 http://
3.
50 http://
50 http://
3.20.1-1 50
50 http://
50 http://
3.20.0-2 50
50 http://
50 http://
3.
500 http://
500 http://
3.18.2-1 50
50 http://
50 http://
3.18.0-6 50
50 http://
50 http://
3.14.2-1 500
500 http://
500 http://
This shows all meld versions from 13 official series and two Launchpad PPAs. The current installed package version is 3.20.4-
It's actually quite often very handy to have a fast terminal way to check the versions of any specified package(s) in the 13 different Ubuntu series in question. As shown, this can be done very simply with "apt-cache policy" (on any of the 13 series) after this ubuntu-enhanced package is installed.
*** Usage: apt-all ***
The "apt-all" script takes one series name (Xenial, Bionic, Cosmic, Disco, Eoan, Focal, Groovy, Hirsute, Impish, Jammy, Kinetic, Lunar, or Mantic) as the first argument (lowercase), exactly "install" as the second argument (safety, no accidental or even intentional "apt-get upgrade" commands are allowed with a different series via "apt-all") and then the package(s) you want to install as the third and final argument.
Example: apt-all bionic install meld
This invocation would do these tasks:
=> Switch Bionic to have temporary high priority
=> $ sudo apt-get install meld
=> Switch Bionic back to low priority as usual
Thus "apt-all" is simple to use and is all about giving a front-end for easy choice from all the packages of 12 other series of Ubuntu than your own.
FINAL WARNING: While easy to use, "apt-all" is also very powerful (due it allowing install of any/all packages from series other than that installed) and could destroy the reliability/
*** Updates ***
26/8/19 -- New package ubuntu-enhanced replaces xenial-enhanced and is compatible for installation on five different Ubuntu series (Xenial, Bionic, Cosmic, Disco and Eoan). Gives access to all packages (in all "pockets") in all of the repositories for these series, no matter what series is installed.
2/9/19 -- New PPA (now also called ubuntu-enhanced) and new release 0.5 with improvements to "apt-all" for better error handling.
26/9/19 -- Fixed issue with post installation script on Bionic and newer due official-
12/5/20 -- Added Groovy Gorilla to configuration and uploaded new 0.7 package allowing installation on any Ubuntu series from Xenial through to Groovy. This version also uses the correct server for old series past end of support.
31/10/20 -- Added Hirsute Hippo to configuration and uploaded new 0.8 package allowing installation on any Ubuntu series from Xenial through to Hirsute.
7/5/21 -- Added Impish Indri to configuration and uploaded new 0.9 package allowing installation on any Ubuntu series from Xenial through to Impish.
21/10/21 -- Add Jammy Jellyfish to configuration and uploaded new 0.10 package for install on supported Ubuntu series from Xenial through Jammy.
30/4/22 -- Add Kinetic Kudu to configuration and uploaded new 0.11 package for install on any supported Ubuntu series from Xenial through Kinetic.
28/10/22 -- Add Lunar Lobster to configuration and uploaded new 0.12 package for install on any supported Ubuntu series from Xenial to Lunar.
29/4/23 -- Add Mantic Minotaur to configuration and uploaded new 0.13 package for install on any supported Ubuntu series from Xenial to Mantic.
Adding this PPA to your system
You can update your system with unsupported packages from this untrusted PPA by adding ppa:savoury1/ubuntu-enhanced to your system's Software Sources. (Read about installing)
sudo add-apt-repository ppa:savoury1/ubuntu-enhanced sudo apt update
For questions and bugs with software in this PPA please contact Rob Savoury.
PPA statistics
- Activity
- 0 updates added during the past month.
Overview of published packages
1 → 8 of 8 results | First • Previous • Next • Last |
Package | Version | Uploaded by |
---|---|---|
ubuntu-enhanced | 0.13.0-1~23.10.sav0 | Rob Savoury () |
ubuntu-enhanced | 0.13.0-1~23.04.sav0 | Rob Savoury () |
ubuntu-enhanced | 0.13.0-1~22.10.sav0 | Rob Savoury () |
ubuntu-enhanced | 0.13.0-1~22.04.sav0 | Rob Savoury () |
ubuntu-enhanced | 0.13.0-1~20.04.sav0 | Rob Savoury () |
ubuntu-enhanced | 0.13.0-1~18.04.sav0 | Rob Savoury () |
ubuntu-enhanced | 0.13.0-1~16.04.sav0 | Rob Savoury () |
xenial-enhanced | 0.3-1sav0 | Rob Savoury () |
1 → 8 of 8 results | First • Previous • Next • Last |