Ubuntu Jammy Progress 2
Details of recent progress on the Ubuntu 22.04 (Jammy Jellyfish) platform…
Package Lists
Minimal
The minimal package list is now complete and has been tested. The sections for required and important priority packages were previously managed by hand but are now generated using a script. This ensures that the lists are correct, reproducible and complete. The other sections are generated using lcfg-soy, for that the input lists have been tidied and tweaked to make it clearer which packages are direct requirements and which are transitive dependencies. The management of this list has been much improved with the aim of increasing the efficiency of future platform upgrades.
Another aim is that these lists remain minimal, only including what is necessary to provide a simple but fully-functional environment that is completely managed by LCFG. A few packages which are included by default need to be removed for the LCFG platform. Previously that was done manually by directly editing the packages file. That is not a good approach since it’s not clear which packages were removed or why, (you can’t tell if a package was just missed or deliberately removed). To resolve that all the sections in minimal are now kept intact and removals are instead done explicitly in the override file. For example:
-python3-distupgrade=* -python3-update-manager=* -ubuntu-advantage-desktop-daemon=* -ubuntu-advantage-tools=* -ubuntu-release-upgrader-core=* -ubuntu-release-upgrader-gtk=* -update-manager-core=* -usrmerge=*
As well as being much clearer about which packages have been removed this allows the addition of helpful comments that explain why packages had to be removed. Again this helps with future platform upgrades when otherwise this information would have been lost in the mists of time.
Options
The options package list is now much more complete. Some package options had to be modified to include packages with different names (e.g. libsnmp35
v libsnmp40
). A few other options have been completely removed:
LCFG_OPTIONS_APACHE_WSGI_PY2
– Python 2 version of Apache WSGI module (use Python 3)LCFG_OPTIONS_LIBLLVM10
– LLVM libraries version 10 (useLCFG_OPTIONS_LIBLLVM
which is version 14)LCFG_OPTIONS_MONGODB
– MongoDB, removed due to license issuesLCFG_OPTIONS_PHANTOMJS
– PhantomJS, upstream project is dead
The lcfg-soy utility has been modified to allow input files to override options in other files, that makes it possible to have a standard, generic list with additional small platform-specific override files. A full description of the changes to lcfg-soy will be published separately.
Desktop
An initial attempt at the desktop packages lists has been generated using lcfg-soy. It has not yet been tested, it is likely that there are conflicts or missing dependencies at this stage.
Recent comments