SUSE Support

Here When You Need Us

Updates to packages can break autoyasts when including dependencies in package list

This document (000020398) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 11
 

Situation

Occasionally an updated package will remove and/or add dependencies. When including dependencies for rpms in the <package> section in the autoyast control file the install can fail.

i.e. in SLES 15 SP3 an update to docker after the image was created changes dependency files for docker. These packages aren't reflected in https://documentation.suse.com/package-lists/sle/15-SP3/package-changes_SLE-15-SP2-GA_SLE-15-SP3-GA.txt . This is because the update happened after the creation of SP3. If these packages were included in the autoyast file previously this same autoyast will now be broken. 

Resolution

When creating an autoyast it is good practice to not include the dependency packages. When including only "docker" in the control file for the above situation, the install parses the docker package for its dependencies and then pulls in those specific dependencies. Adding the dependencies manually is superfluous and *can* cause the autoyast file to fail during installation.

 

Cause

The inclusion of the dependencies fails when the dependencies have been updated/change post creation of the SP* iso. In the specific case of Docker, the following change was made:

docker-runc-1.0.0rc10+gitr3981_dc9208a3303f-6.45.3   >>>   runc-1.0.0~rc10-1.9.1

If the original runc package was listed in the autoyast it will fail to install because that file is no longer included.

Additional Information

When creating a control file using "yast clone_system", this includes ALL packages installed on the current system. You can attempt to sort through these packages a variety of ways. Running the following command on the system you are cloning *can* help:
zypper search -i | grep i+ >> user_installed_rpms.txt
See "man zypper" to see the various meanings of the status column returned with "zypper search -i". Relevant values for the sake of this example are shown below:
           The Status column can contain the following values:
               i+     installed by user request
               i       installed automatically (by the resolver, see section Automatically installed packages)
Automatically installed packages
Packages added by the dependency solver in order to resolve a user’s request are remembered as having been automatically installed. They may later be removed, if no more user installed packages depend on them (e.g. by zypper remove --clean-deps).

A quick test on my system resulted in only "docker" being listed in the resulting file and none of the dependencies. Modifying the autoyast file to represent these packages *should* help to avoid this issue. In my test docker remained in the list but the dependencies in question from the situation above were not shown.

 

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000020398
  • Creation Date: 28-Sep-2021
  • Modified Date:25-Oct-2021
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

tick icon

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

tick icon

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

tick icon

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.