aboutsummaryrefslogtreecommitdiffstats

GPLv3
PPA by Jean-Christophe Manciot is licensed under a GPLv3 License.

About Me

I have performed the following steps for this PPA:

PPA Contents

This PPA is operational for the Ubuntu distribution lunar (23.04). All packages (with some exceptions) have been built and tested for this specific environment on x86_64 architectures.

Any source package listed in the links below is built, tested (during the build process) & its binary packages uploaded into this PPA only when its version is fresher than what is available at that time for the corresponding binaries on the official Ubuntu repositories of the latest distribution. This means that this PPA does not mirror the official Ubuntu repositories of the latest distribution, but rather enhances them with more recent releases.

The packages which are available on this dynamic PPA can be divided into the following collections:

Developer

Developer

Drive

Drive

GNS3

GNS3

KVM

KVM

Network

Network

Security

Security

System

System

Wireshark

Wireshark

Requirements

Installing this dynamic PPA repository on your system to benefit from the latest stable & unstable packages requires the following pre-conditions to be met:

  • your system must be running the latest Ubuntu distribution named lunar
  • at least the following repositories should be declared in your etc/apt/sources.list file:
    deb http://archive.ubuntu.com/ubuntu lunar main restricted multiverse universe
    deb http://archive.ubuntu.com/ubuntu lunar-updates main restricted multiverse universe
    deb http://archive.ubuntu.com/ubuntu lunar-security main restricted multiverse universe
  • also, in order to get the latest unstable cgit version, it is necessary to install the following PPA in /etc/apt/sources.list.d/git.list:
    deb http://ppa.launchpad.net/git-core/ppa/ubuntu lunar main

Any other list of repositories has not been tested in conjunction with this PPA.

Installing

The steps to add the PPA on your system are described below.

My PGP Key

You need to import my public PGP key into your gpg public keyring and apt dedicated keyring with:

sudo gpg --keyserver keys.openpgp.org --keyserver-options timeout=40 --receive-keys DF7396D82BBA3684FCCADD4DB063838ED13997FD
sudo gpg --export --armor DF7396D82BBA3684FCCADD4DB063838ED13997FD > /etc/apt/trusted.gpg.d/JC_Manciot_PPA.asc

Other public key servers can be used as well, such as:

  • keyserver.ubuntu.com
  • keys.gnupg.net

N.B: apt-key has been deprecated.

PPA Stable Component

Installing the stable PPA for lunar using one of the following methods, CLI or GUI (Synaptic):

CLI Stable

sudo bash -c $'echo "deb https://git.sdxlive.com/PPA/plain/Ubuntu lunar stable #JC Manciot Stable PPA" > /etc/apt/sources.list.d/jean-christophe-manciot.list'
sudo apt update
sudo apt upgrade
sudo apt --show-progress install <package>

GUI Stable

  • Synaptic --> Settings --> Repositories --> Other Software --> Add:
    deb https://git.sdxlive.com/PPA/plain/Ubuntu lunar stable #JC Manciot Stable PPA
  • Reload
  • Mark all Upgrades
  • Apply
  • Search <package>
  • Mark for Installation
  • Apply

PPA Unstable Component

Installing the unstable PPA for lunar using one of the following methods, CLI or GUI (Synaptic):

CLI Unstable

sudo bash -c $'echo "deb https://git.sdxlive.com/PPA/plain/Ubuntu lunar unstable #JC Manciot Unstable PPA" >> /etc/apt/sources.list.d/jean-christophe-manciot.list'
sudo apt update
sudo apt upgrade
sudo apt --show-progress install <package>

GUI Unstable

  • Synaptic --> Settings --> Repositories --> Other Software --> Add:
    deb https://git.sdxlive.com/PPA/plain/Ubuntu lunar unstable #JC Manciot Unstable PPA
  • Reload
  • Mark all Upgrades
  • Apply
  • Search <package>
  • Mark for Installation
  • Apply

Notes

Server Guide

The latest edition is available online.

Release Notes

The latest release notes for Ubuntu 23.04 Lunar Lobster are available online.

Build Tools

All the packages available in this PPA are built with the following tools, with a top-down priority list:

  1. gbp buildpackage: when the source git repository offers a correctly maintained pristine-tar or upstream branch. The packages version numbers are not modified.
  2. debuild: when the sources offer a debian folder. The packages version numbers end with +23.04.
  3. fpm/checkinstall: all other cases. The packages version numbers end with -23.04.

Unstable Packages Name Format

The unstable packages which appear in the unstable component of the PPA have different name formats to distinguish them from previous stable releases, for those who accept to live closer to the edge. You can be confident that they have passed a minimal testing. Some of them solve some issues discovered in previous stable versions. You can also always go back to the previous stable package if necessary. The name formats differ depending on the tool used to build them:

  • built with debuild:
    <package_name>_<unstable_release_number>~git<commit_date>.<short_hash_id>+23.04_amd64.deb
  • built with fpm/checkinstall:
    <package_name>_<unstable_release_number>~git<commit_date>.<short_hash_id>-23.04_amd64.deb
    <package_name>_<git describe --tags>-23.04_amd64.deb

Upgrading Safely From an Ubuntu Release to Another One

In order to avoid any issue during the distribution upgrade process, I suggest that you perform the following tasks prior to the distribution upgrade: (replace for instance <new_os_release_number> with 23.04; <previous_os_release_number> with 22.10; <new_os_code_name> with lunar; <previous_os_code_name> with kinetic)

  • reload all packages information: sudo apt update
  • upgrade your packages: sudo apt upgrade
  • backup your whole system:
    • from another system such as a USB flash drive: fsarchiver should come in handy
    • or with a LVM snapshot
    • or with a Btrfs snapshot
    • ...
  • reboot if necessary
  • comment out all third-party PPA components in /etc/apt/sources.list.d/*.list
  • close all the applications windows
  • from a previous stable release to the latest stable release:
    • on a server with a desktop environment: press Alt+F2 and type update-manager -c into the command box
    • Update Manager should open up and tell you that Ubuntu <new_os_release_number> is now available.
    • If not you can run /usr/lib/ubuntu-release-upgrader/check-new-release-gtk
    • Click Upgrade and follow the on-screen instructions.
    • on a headless server: do-release-upgrade.
  • from the latest stable release to the latest development release:
    • Install ubuntu-release-upgrader-core if it is not already installed.
    • Launch the upgrade tool with the command sudo do-release-upgrade --devel-release
    • Follow the on-screen instructions.
  • from the previous development release to the latest development release:
    sudo sed -i "s/<previous_os_code_name>/<new_os_code_name>/g" /etc/apt/sources.list
    sudo apt update; sudo apt upgrade
  • once the upgrade process is done, reselect and upgrade the distribution/release name of all third-party PPAs (for instance from kinetic to lunar for those which are up-to-date) in /etc/apt/sources.list.d
  • reload package information and upgrade all updated packages: sudo apt update; sudo apt upgrade
  • make sure that the packages which have been built for the previous Ubuntu release have been upgraded:
    sudo apt list --installed | grep -P -- "\+<previous_os_release_number>"
    sudo apt list --installed | grep -P -- "-<previous_os_release_number>"
  • for those which have not been upgraded (all those listed in the 2 previous commands), you may downgrade them to the latest version available from the Ubuntu archive or wait until a new version is available from this PPA. Cf. Downgrading Packages
  • check how the distribution upgrade performed by reading the logs in /var/log/dist-upgrade and solve all remaining issues:
    • reinstall all necessary packages which have been removed and listed in history.log in the Remove: paragraph.
    • reinstall all necessary packages which could not be installed due to errors and listed in apt.log and apt-term.log
  • reboot when done

Downgrading Packages

If necessary, it is of course possible to downgrade the packages installed from this PPA to the ones available in the official repositories.

In order to automate this process for all installed packages, the following bash scripts are provided:

  • apt-downgrade-bin-packages-to-official-archive.sh:
    • downgrading some (light mode) or all (full mode) installed binary packages with a version ending with +<os_version> or -<os_version> to the package version provided by the official Ubuntu repositories.
    • please consult the help (-h) for details, especially regarding the differences between both modes.
    • it is possible to pass perl regular expressions to narrow the search for installed binary packages which need to be downgraded.
  • apt-downgrade-src-package-to-official-archive.sh:
    • downgrading all installed binary packages listed from a source package with a version ending with +<os_version> or -<os_version> to the package version provided by the official Ubuntu repositories.
    • please consult the help (-h) for details.
  • apt-update-perl-bin-packages-to-official-archive.sh:
    • this script allows to update all perl installed binary packages with a version ending with + to the package version provided by the official Ubuntu repositories.
    • please consult the help (-h) for details, especially regarding the differences between both <auto> modes.
  • apt-update-python-bin-packages-to-official-archive.sh:
    • this script allows to update all python installed binary packages with a version ending with + to the package version provided by the official Ubuntu repositories.
    • please consult the help (-h) for details, especially regarding the differences between both <auto> modes.
  • dpkg-lock.sh: dpkg semaphore used in previous scripts.

Removing Obsolete Packages

Packages which have no installation candidate can be removed/purged with the help of a script:

  • apt-remove-obsolete-bin-packages.sh:
    • removing/purging all obsolete installed binary packages, i.e. all packages which have no installation candidate.
    • it is possible to pass perl regular expressions to narrow the search for installed binary packages which need to be removed.
    • please consult the help (-h) for details, especially regarding the differences between both <auto> modes.

Removing Orphaned Packages

Packages among libs, oldlibs and introspection sections that have no packages depending on them can be removed/purged with the help of a script:

  • apt-remove-orphaned-bin-packages.sh:
    • removing/purging all orphaned installed binary packages, i.e. all packages among libs, oldlibs and introspection sections that have no packages depending on them.
    • it is possible to pass perl regular expressions to narrow the search for installed binary packages which need to be removed.
    • please consult the help (-h) for details, especially regarding the differences between both <auto> modes.

Reinstalling Installed packages

All installed packages which have an installation candidate can be reinstalled with the help of a script:

  • apt-reinstall-bin-packages.sh:
    • reinstalling all installed binary packages, i.e. all packages which have an installation candidate.
    • it is possible to pass a perl regular expression to narrow the search for installed binary packages which need to be reinstalled.
    • no manual user's consent will be asked before each package reinstallation.

Known Error Messages And Workaround

If you encounter the following error messages during sudo apt update, it means that the PPA is currently being refreshed with new releases; this process happens relatively often, mostly potentially during week-ends and every week day between ~ 6 am and 1 pm CET:

  • "Failed to fetch https://git.sdxlive.com/PPA/plain/Ubuntu/dists/lunar/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?) Some index files failed to download. They have been ignored, or old ones used instead."
  • "Packages
    • Hash Sum mismatch
    • Hashes of expected file:
    • ...
    • Hashes of received file:
    • ..."

In order to avoid any issue about index files not being synced during the PPA maintenance, the visiblity of the PPA repository is now private when the index files are being updated with new package(s) and back to public when the update is done. During that very short time frame, accessing the repository is not possible anymore and you get one of the error messages described above.

Just wait to be outside the refresh time frame so that the PPA index has been completely updated and retry your sudo apt update and sudo apt upgrade or sudo apt --show-progress install <package>.

Filing Issues

Please let me know if you ever experience any other issue(s) at support@sdxlive.com.